diff --git a/.eslintignore b/.eslintignore index 2e9564de7..430f7bcc3 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,5 @@ **/node_modules/ +src/**/__mocks__/**/* dist/ Contracts/ src/Api/Apis.ts diff --git a/.eslintrc.js b/.eslintrc.js index 800988b8f..f32961a91 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -11,6 +11,7 @@ module.exports = { }, parser: "@typescript-eslint/parser", parserOptions: { + project: ["./tsconfig.json", "./tsconfig.test.json"], ecmaFeatures: { jsx: true, }, @@ -35,6 +36,7 @@ module.exports = { rules: { "no-console": ["error", { allow: ["error", "warn", "dir"] }], curly: "error", + "@typescript-eslint/switch-exhaustiveness-check": "error", "@typescript-eslint/no-unused-vars": "error", "@typescript-eslint/no-extraneous-class": "error", "no-null/no-null": "error", diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76bb1325e..d63657b1d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -138,6 +138,7 @@ jobs: matrix: test-file: - ./test/cassandra/container.spec.ts + - ./test/graph/container.spec.ts - ./test/sql/container.spec.ts - ./test/mongo/container.spec.ts - ./test/selfServe/selfServeExample.spec.ts diff --git a/jest.config.js b/jest.config.js index b1e027c3f..889b544e0 100644 --- a/jest.config.js +++ b/jest.config.js @@ -69,7 +69,8 @@ module.exports = { moduleNameMapper: { "^.*[.](svg|png|gif|less|css)$": "/mockModule", "@nteract/stateful-components/(.*)$": "/mockModule", - "office-ui-fabric-react/lib/(.*)$": "office-ui-fabric-react/lib-commonjs/$1", // https://github.com/OfficeDev/office-ui-fabric-react/wiki/Fabric-6-Release-Notes + "@fluentui/react/lib/(.*)$": "@fluentui/react/lib-commonjs/$1", // https://github.com/microsoft/fluentui/wiki/Version-8-release-notes + "monaco-editor/(.*)$": "/__mocks__/monaco-editor", "^dnd-core$": "dnd-core/dist/cjs", "^react-dnd$": "react-dnd/dist/cjs", "^react-dnd-html5-backend$": "react-dnd-html5-backend/dist/cjs", diff --git a/package-lock.json b/package-lock.json index 5d61eb4db..ba8e073e1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "@azure/ms-rest-nodeauth": "3.0.7", "@babel/plugin-proposal-class-properties": "7.12.1", "@babel/plugin-proposal-decorators": "7.12.12", + "@fluentui/react": "8.10.1", "@jupyterlab/services": "6.0.2", "@jupyterlab/terminal": "3.0.3", "@microsoft/applicationinsights-web": "2.6.1", @@ -46,7 +47,6 @@ "@types/mkdirp": "1.0.1", "@types/node-fetch": "2.5.7", "@uifabric/react-cards": "0.109.110", - "@uifabric/styling": "7.13.7", "applicationinsights": "1.8.0", "bootstrap": "3.4.1", "canvas": "file:./canvas", @@ -79,7 +79,6 @@ "monaco-editor": "0.18.1", "ms": "2.1.3", "msal": "1.4.4", - "office-ui-fabric-react": "7.164.2", "p-retry": "4.2.0", "plotly.js-cartesian-dist-min": "1.52.3", "post-robot": "10.0.42", @@ -131,8 +130,8 @@ "@types/sinon": "2.3.3", "@types/styled-components": "5.1.1", "@types/underscore": "1.7.36", - "@typescript-eslint/eslint-plugin": "4.0.1", - "@typescript-eslint/parser": "4.0.1", + "@typescript-eslint/eslint-plugin": "4.22.0", + "@typescript-eslint/parser": "4.22.0", "babel-jest": "24.9.0", "babel-loader": "8.1.0", "buffer": "5.1.0", @@ -195,9 +194,6 @@ "integrity": "sha512-XUyTo+bcyxHEf+jlN2MXA7YU9nxVehaubngHV1MIZZaqYmZqykkoeAz/JMMEeR7t3TcyDwbFa3Zw8BZywmIx4g==", "dependencies": { "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@azure/abort-controller/node_modules/tslib": { @@ -222,9 +218,6 @@ "dependencies": { "@azure/abort-controller": "^1.0.0", "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@azure/core-auth/node_modules/tslib": { @@ -252,9 +245,6 @@ "tunnel": "^0.0.6", "uuid": "^8.3.0", "xml2js": "^0.4.19" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@azure/core-http/node_modules/form-data": { @@ -265,9 +255,6 @@ "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" } }, "node_modules/@azure/core-http/node_modules/tough-cookie": { @@ -278,9 +265,6 @@ "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" } }, "node_modules/@azure/core-http/node_modules/tslib": { @@ -304,9 +288,6 @@ "@opencensus/web-types": "0.0.7", "@opentelemetry/api": "^0.10.2", "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@azure/core-tracing/node_modules/tslib": { @@ -330,9 +311,6 @@ "tslib": "^2.0.0", "universal-user-agent": "^6.0.0", "uuid": "^8.3.0" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@azure/cosmos-language-service": { @@ -355,9 +333,6 @@ "object-assign": "^4.1.1", "prop-types": "^15.6.2", "schedule": "^0.5.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/@azure/cosmos/node_modules/@azure/core-auth": { @@ -409,9 +384,6 @@ "tslib": "^2.0.0", "uuid": "^8.3.0" }, - "engines": { - "node": ">=8.0.0" - }, "optionalDependencies": { "keytar": "^5.4.0" } @@ -435,9 +407,6 @@ "integrity": "sha512-QYQeaJ+A5x6aMNu8BG5qdsVBnYBop9UMwgUvGihSjf1PdZZXB+c/oMdM2ajKwzobLBh9e9QuMQkN9iL+IxLBLA==", "dependencies": { "tslib": "^2.0.0" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@azure/logger/node_modules/tslib": { @@ -494,9 +463,6 @@ "integrity": "sha512-3/voCdFKONENX+5tMrNOBSrVJb6NbE7YB8vc4FZ/4ZbjpK7GVtq9Bu1MW+HZhrmsUzSF/joHx0ZIJDYIequ/jg==", "dependencies": { "debug": "^4.1.1" - }, - "engines": { - "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { @@ -562,9 +528,6 @@ "resolve": "^1.3.2", "semver": "^5.4.1", "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/generator": { @@ -1323,9 +1286,6 @@ "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.12.13", "@babel/helper-plugin-utils": "^7.12.13" - }, - "engines": { - "node": ">=4" } }, "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/@babel/helper-plugin-utils": { @@ -2282,74 +2242,285 @@ } }, "node_modules/@fluentui/date-time-utilities": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.0.tgz", - "integrity": "sha512-D8p5WWeonqRO1EgIvo7WSlX1rcm87r2VQd62zTJPQImx8rpwc77CRI+iAvfxyVHRZMdt4Qk6Jq99dUaudPWaZw==", + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", + "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", "dependencies": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "node_modules/@fluentui/dom-utilities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz", - "integrity": "sha512-w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", + "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", "dependencies": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/font-icons-mdl2": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.0.5.tgz", + "integrity": "sha512-/2Qx/LCZH+rupbhzZ+WKCrw2XK3J2wj3pjMPLTLj/6rnmouA7yywFDiHIAseQXPhY34nzRVX4x3zEjz3RMWvmA==", + "dependencies": { + "@fluentui/set-version": "^8.0.3", + "@fluentui/style-utilities": "^8.0.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/foundation-legacy": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.0.5.tgz", + "integrity": "sha512-bHODfopWfT4HfBvXFCyfKxi7/BrIVgKUvQ4X3L2GXUZv6jjQMvLPWZ1u8n2tdp91ch1KSWnBXklGaK/nyK1M5w==", + "dependencies": { + "@fluentui/merge-styles": "^8.0.4", + "@fluentui/set-version": "^8.0.3", + "@fluentui/style-utilities": "^8.0.5", + "@fluentui/utilities": "^8.0.5", "tslib": "^1.10.0" } }, "node_modules/@fluentui/keyboard-key": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz", - "integrity": "sha512-t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz", + "integrity": "sha512-iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==", "dependencies": { "tslib": "^1.10.0" } }, + "node_modules/@fluentui/merge-styles": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.0.tgz", + "integrity": "sha512-afJ8rw1V3sfgzfufP7ockcP5AxiQN7VlqKo6JoCSZbWC2ypQ0DZre7d3k+Zj2LvjCrM8HM57YEfwXWT/WxGfqw==", + "dependencies": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/merge-styles/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "node_modules/@fluentui/react": { + "version": "8.10.1", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.10.1.tgz", + "integrity": "sha512-J6wCfkkCzJ2Z9K6KVCrshpDDnhh5smKEGChsxMkLRoXYeAlVUMiS9lLg93PW+AbY4NfG+tNO2Ug8itNKpUmlYw==", + "dependencies": { + "@fluentui/date-time-utilities": "^8.0.2", + "@fluentui/font-icons-mdl2": "^8.0.4", + "@fluentui/foundation-legacy": "^8.0.4", + "@fluentui/merge-styles": "^8.0.3", + "@fluentui/react-focus": "^8.0.7", + "@fluentui/react-hooks": "^8.1.2", + "@fluentui/react-window-provider": "^2.0.2", + "@fluentui/set-version": "^8.0.2", + "@fluentui/style-utilities": "^8.0.4", + "@fluentui/theme": "^2.0.4", + "@fluentui/utilities": "^8.0.4", + "@microsoft/load-themed-styles": "^1.10.26", + "tslib": "^1.10.0" + } + }, "node_modules/@fluentui/react-focus": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.1.tgz", - "integrity": "sha512-Nulq2pE4pX6Pf+tGZl8uLp8VfqUzx3elC5v7QvYSBdjnZK8ykitdsa+Sd3PKYWW2EMlzVRSptlzbuJ6JyEDQKQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.1.0.tgz", + "integrity": "sha512-yzfDnDrnHq5z4Nt1xY7LS+DtjbJmCdpDiTiQm8tnCj98qESzqqqAwjpSc+HFXVexBzlmPNf1hzc8BMCQOUF/7g==", "dependencies": { - "@fluentui/keyboard-key": "^0.2.12", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@fluentui/keyboard-key": "^0.3.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "@fluentui/style-utilities": "^8.1.0", + "@fluentui/utilities": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/react-focus/node_modules/@fluentui/dom-utilities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.0.tgz", + "integrity": "sha512-DMr0uH4EtyXgdpVLyvWq60YtWN38jx22rtdsEIbbBNYcFgcl3rRa7M8p/rnaw/k/KWX35H40AYga1SM6Zgpyww==", + "dependencies": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/react-focus/node_modules/@fluentui/keyboard-key": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.0.tgz", + "integrity": "sha512-5GZ9038lwNK5BcgFkbXJs6zpZUlmyrszWbKPMqcHysMFBbL569VwV7zQt/yF3ivL0L4k46C+uXHbnFbMgZEJ4w==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/react-focus/node_modules/@fluentui/utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.1.0.tgz", + "integrity": "sha512-/yHnDkrIlyn/Jy3XWccNRyuujQDgUxz44OQDEiMSko50S/L7cVeWdIzG/CiIsCnKAgU4/QyzRo40Wdy3rdM8ag==", + "dependencies": { + "@fluentui/dom-utilities": "^2.1.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/react-focus/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "node_modules/@fluentui/react-hooks": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.1.3.tgz", + "integrity": "sha512-6iWYjfqXvEhHZoY4nmN6APoIdxwNxzVxXOJgq1Oo1nbR10E7Va7mz41gvlFAgg8OmH7mGpdSztlVj6TVl/TY2g==", + "dependencies": { + "@fluentui/react-window-provider": "^2.0.3", + "@fluentui/set-version": "^8.0.3", + "@fluentui/utilities": "^8.0.5", "tslib": "^1.10.0" } }, - "node_modules/@fluentui/react-focus/node_modules/@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "node_modules/@fluentui/react-hooks/node_modules/@fluentui/react-window-provider": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.0.3.tgz", + "integrity": "sha512-eefkmzLJbYjVHtEtGbOwReyeYG+2bDefxdmvPRSVFlcRFCnasTvshuZj3xkaKSu5fsGzGw+f+ab3hDgLSETvbg==", "dependencies": { - "@fluentui/theme": "^1.7.1", + "@fluentui/set-version": "^8.0.3", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/react/node_modules/@fluentui/date-time-utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.1.0.tgz", + "integrity": "sha512-1PSp/ufi5urnvxkbT9Lijsh7Y2PNEsZfpNXDVwOpPDqpRkRrd8Wr8IdRPQk7w6XLZIeDCiWIBXBRYCVp6KGbYg==", + "dependencies": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/react/node_modules/@fluentui/date-time-utilities/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "node_modules/@fluentui/react/node_modules/@fluentui/react-window-provider": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.0.tgz", + "integrity": "sha512-LcNni1utHiXiCu8EbXL42o118yNRAWKX15qKd0iyMqcUg5RplOdWuaniohXv2gsmdNB0l3F5Tnujgayy0xPlvQ==", + "dependencies": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/react/node_modules/@fluentui/react-window-provider/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "node_modules/@fluentui/set-version": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.0.tgz", + "integrity": "sha512-FhruPyh+VoAVmqAadRxawMNB13syBLoT6PePdZ+sKW7rZVc2CWT3qw7w9O9x6MJeRNl6/6ZnjCo6sWyOyVEdNg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/set-version/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "node_modules/@fluentui/style-utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.1.0.tgz", + "integrity": "sha512-XUH+8T7/2HAMYzTLr20odD5lfKy56fJooFlkSmW0SSC6sOilHmrdPZCBSTV+WJzH/YY2ed/GnySIjCQOx5UsYg==", + "dependencies": { + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "@fluentui/theme": "^2.1.0", + "@fluentui/utilities": "^8.1.0", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" + "tslib": "^2.1.0" } }, - "node_modules/@fluentui/react-window-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.1.tgz", - "integrity": "sha512-5hvruDyF0uE8+6YN6Y+d2sEzexBadxUNxUjDcDreTPsmtHPwF5FPBYLhoD7T84L5U4YNvKxKh25tYJm6E0GE2w==", + "node_modules/@fluentui/style-utilities/node_modules/@fluentui/dom-utilities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.0.tgz", + "integrity": "sha512-DMr0uH4EtyXgdpVLyvWq60YtWN38jx22rtdsEIbbBNYcFgcl3rRa7M8p/rnaw/k/KWX35H40AYga1SM6Zgpyww==", "dependencies": { - "@uifabric/set-version": "^7.0.23", - "tslib": "^1.10.0" + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" } }, + "node_modules/@fluentui/style-utilities/node_modules/@fluentui/utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.1.0.tgz", + "integrity": "sha512-/yHnDkrIlyn/Jy3XWccNRyuujQDgUxz44OQDEiMSko50S/L7cVeWdIzG/CiIsCnKAgU4/QyzRo40Wdy3rdM8ag==", + "dependencies": { + "@fluentui/dom-utilities": "^2.1.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/style-utilities/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, "node_modules/@fluentui/theme": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.1.tgz", - "integrity": "sha512-cwx8gJ0O9d+Z8g6Lq7BgDgH8XPfSloUSy0GN3fWHJGrDCBPcnmz6/GKbbvxw9PZ2t1iNcAzJEJNT6NyuOOobPA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.1.0.tgz", + "integrity": "sha512-2jFun5LqUZJb+AiWeLOnNQTxrKWMCNHFTs4+QIUyL7ZPMAiNZyWMsQJfeGOujzdlReivZ7kONNQEi0LTJ0Tmzw==", "dependencies": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "@fluentui/utilities": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/theme/node_modules/@fluentui/dom-utilities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.0.tgz", + "integrity": "sha512-DMr0uH4EtyXgdpVLyvWq60YtWN38jx22rtdsEIbbBNYcFgcl3rRa7M8p/rnaw/k/KWX35H40AYga1SM6Zgpyww==", + "dependencies": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/theme/node_modules/@fluentui/utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.1.0.tgz", + "integrity": "sha512-/yHnDkrIlyn/Jy3XWccNRyuujQDgUxz44OQDEiMSko50S/L7cVeWdIzG/CiIsCnKAgU4/QyzRo40Wdy3rdM8ag==", + "dependencies": { + "@fluentui/dom-utilities": "^2.1.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@fluentui/theme/node_modules/tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + }, + "node_modules/@fluentui/utilities": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.0.5.tgz", + "integrity": "sha512-epqvqV4YjKcbgShLhDk/y2Xa+6sUTBXry/BrMPNVwNOqdj2HCf4eCY+a1emFnytMpIVysfYZ6glIx9MNQ8JgNg==", + "dependencies": { + "@fluentui/dom-utilities": "^2.0.3", + "@fluentui/merge-styles": "^8.0.4", + "@fluentui/set-version": "^8.0.3", + "tslib": "^1.10.0" + } + }, + "node_modules/@fluentui/utilities/node_modules/@fluentui/dom-utilities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.0.3.tgz", + "integrity": "sha512-RaUoEYd12TeEjvKLBtfXDZmjreaV6qIfBB7G+QCuBpv5FF7TjhrGK3WDZ7oaG0dkdegAx+ecyUFyOfoBRPJLkg==", + "dependencies": { + "@fluentui/set-version": "^8.0.3", "tslib": "^1.10.0" } }, @@ -2381,9 +2552,6 @@ "get-package-type": "^0.1.0", "js-yaml": "^3.13.1", "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { @@ -2418,9 +2586,6 @@ "dev": true, "dependencies": { "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate/node_modules/p-limit": { @@ -2579,9 +2744,6 @@ "@jest/environment": "^25.5.0", "@jest/types": "^25.5.0", "expect": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/@jest/environment": { @@ -2666,9 +2828,6 @@ "dev": true, "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/@jest/globals/node_modules/chalk": { @@ -2679,9 +2838,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@jest/globals/node_modules/color-convert": { @@ -2706,10 +2862,7 @@ "version": "25.2.6", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true, - "engines": { - "node": ">= 8.3" - } + "dev": true }, "node_modules/@jest/globals/node_modules/expect": { "version": "25.5.0", @@ -2723,9 +2876,6 @@ "jest-matcher-utils": "^25.5.0", "jest-message-util": "^25.5.0", "jest-regex-util": "^25.2.6" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/fill-range": { @@ -2768,19 +2918,13 @@ "diff-sequences": "^25.2.6", "jest-get-type": "^25.2.6", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/jest-get-type": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } + "dev": true }, "node_modules/@jest/globals/node_modules/jest-matcher-utils": { "version": "25.5.0", @@ -2792,9 +2936,6 @@ "jest-diff": "^25.5.0", "jest-get-type": "^25.2.6", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/jest-message-util": { @@ -2811,9 +2952,6 @@ "micromatch": "^4.0.2", "slash": "^3.0.0", "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/jest-mock": { @@ -2823,19 +2961,13 @@ "dev": true, "dependencies": { "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/jest-regex-util": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true, - "engines": { - "node": ">= 8.3" - } + "dev": true }, "node_modules/@jest/globals/node_modules/jest-util": { "version": "25.5.0", @@ -2848,9 +2980,6 @@ "graceful-fs": "^4.2.4", "is-ci": "^2.0.0", "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/make-dir": { @@ -2888,9 +3017,6 @@ "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/@jest/globals/node_modules/semver": { @@ -2961,18 +3087,12 @@ "slash": "^2.0.0", "source-map": "^0.6.0", "string-length": "^2.0.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/@jest/reporters/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/@jest/source-map": { "version": "24.9.0", @@ -2982,18 +3102,12 @@ "callsites": "^3.0.0", "graceful-fs": "^4.1.15", "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/@jest/source-map/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/@jest/test-result": { "version": "24.9.0", @@ -3043,9 +3157,6 @@ "slash": "^2.0.0", "source-map": "^0.6.1", "write-file-atomic": "2.4.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/@jest/transform/node_modules/@babel/core": { @@ -3084,10 +3195,7 @@ "node_modules/@jest/transform/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/@jest/types": { "version": "24.9.0", @@ -3174,9 +3282,6 @@ "chalk": "^2.4.2", "source-map": "^0.6.1", "supports-color": "^6.1.0" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jupyterlab/apputils/node_modules/react": { @@ -3186,9 +3291,6 @@ "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/@jupyterlab/apputils/node_modules/react-dom": { @@ -3215,10 +3317,7 @@ "node_modules/@jupyterlab/apputils/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/@jupyterlab/apputils/node_modules/supports-color": { "version": "6.1.0", @@ -3361,9 +3460,6 @@ "dependencies": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/@jupyterlab/ui-components/node_modules/react-dom": { @@ -3593,9 +3689,6 @@ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/@microsoft/dynamicproto-js/node_modules/fill-range": { @@ -4274,10 +4367,7 @@ "node_modules/@nteract/presentational-components/node_modules/highlight.js": { "version": "9.12.0", "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", - "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=", - "engines": { - "node": "*" - } + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" }, "node_modules/@nteract/presentational-components/node_modules/lowlight": { "version": "1.9.2", @@ -4523,10 +4613,7 @@ "node_modules/@octokit/endpoint/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, "node_modules/@octokit/endpoint/node_modules/universal-user-agent": { "version": "6.0.0", @@ -4672,10 +4759,7 @@ "node_modules/@octokit/request/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, "node_modules/@octokit/request/node_modules/universal-user-agent": { "version": "6.0.0", @@ -4709,10 +4793,7 @@ "node_modules/@opencensus/web-types": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/@opencensus/web-types/-/web-types-0.0.7.tgz", - "integrity": "sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g==", - "engines": { - "node": ">=6.0" - } + "integrity": "sha512-xB+w7ZDAu3YBzqH44rCmG9/RlrOmFuDPt/bpf17eJr8eZSrLt7nc7LnWdxM9Mmoj/YKMHpxRg28txu3TcpiL+g==" }, "node_modules/@opentelemetry/api": { "version": "0.10.2", @@ -4720,9 +4801,6 @@ "integrity": "sha512-GtpMGd6vkzDMYcpu2t9LlhEgMy/SzBwRnz48EejlRArYqZzqSzAsKmegUK7zHgl+EOIaK9mKHhnRaQu3qw20cA==", "dependencies": { "@opentelemetry/context-base": "^0.10.2" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/@opentelemetry/context-base": { @@ -4926,9 +5004,6 @@ "dom-accessibility-api": "^0.5.4", "lz-string": "^1.4.4", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">=10" } }, "node_modules/@testing-library/dom/node_modules/@jest/types": { @@ -4994,9 +5069,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/@testing-library/dom/node_modules/color-convert": { @@ -5036,9 +5108,6 @@ "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" } }, "node_modules/@testing-library/dom/node_modules/react-is": { @@ -5072,11 +5141,6 @@ "css.escape": "^1.5.1", "lodash": "^4.17.15", "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" } }, "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { @@ -5097,9 +5161,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@testing-library/jest-dom/node_modules/color-convert": { @@ -5642,10 +5703,7 @@ "node_modules/@types/jest/node_modules/ansi-regex": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" }, "node_modules/@types/jest/node_modules/ansi-styles": { "version": "4.3.0", @@ -5653,9 +5711,6 @@ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": { "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/@types/jest/node_modules/chalk": { @@ -5665,9 +5720,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/@types/jest/node_modules/color-convert": { @@ -5676,9 +5728,6 @@ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": { "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" } }, "node_modules/@types/jest/node_modules/color-name": { @@ -5689,18 +5738,12 @@ "node_modules/@types/jest/node_modules/diff-sequences": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "engines": { - "node": ">= 10.14.2" - } + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" }, "node_modules/@types/jest/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "node_modules/@types/jest/node_modules/jest-diff": { "version": "26.6.2", @@ -5711,18 +5754,12 @@ "diff-sequences": "^26.6.2", "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/@types/jest/node_modules/jest-get-type": { "version": "26.3.0", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "engines": { - "node": ">= 10.14.2" - } + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" }, "node_modules/@types/jest/node_modules/pretty-format": { "version": "26.6.2", @@ -5733,9 +5770,6 @@ "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" } }, "node_modules/@types/jest/node_modules/react-is": { @@ -5749,9 +5783,6 @@ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dependencies": { "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/@types/json-schema": { @@ -5811,9 +5842,6 @@ "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" } }, "node_modules/@types/normalize-package-data": { @@ -6024,10 +6052,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/@types/underscore": { "version": "1.7.36", @@ -6080,19 +6105,13 @@ "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } + "dev": true }, "node_modules/@types/webpack/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/@types/yargs": { "version": "13.0.11", @@ -6118,33 +6137,31 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.1.tgz", - "integrity": "sha512-pQZtXupCn11O4AwpYVUX4PDFfmIJl90ZgrEBg0CEcqlwvPiG0uY81fimr1oMFblZnpKAq6prrT9a59pj1x58rw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz", + "integrity": "sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==", "dev": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.0.1", - "@typescript-eslint/scope-manager": "4.0.1", + "@typescript-eslint/experimental-utils": "4.22.0", + "@typescript-eslint/scope-manager": "4.22.0", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", "regexpp": "^3.0.0", "semver": "^7.3.2", "tsutils": "^3.17.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/experimental-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.1.tgz", - "integrity": "sha512-gAqOjLiHoED79iYTt3F4uSHrYmg/GPz/zGezdB0jAdr6S6gwNiR/j7cTZ8nREKVzMVKLd9G3xbg1sV9GClW3sw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", + "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.0.1", - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/typescript-estree": "4.0.1", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" }, @@ -6153,17 +6170,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.1.tgz", - "integrity": "sha512-zGzleORFXrRWRJAMLTB2iJD1IZbCPkg4hsI8mGdpYlKaqzvKYSEWVAYh14eauaR+qIoZVWrXgYSXqLtTlxotiw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", + "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/visitor-keys": "4.0.1", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", - "lodash": "^4.17.15", "semver": "^7.3.2", "tsutils": "^3.17.1" }, @@ -6172,9 +6188,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -6195,38 +6211,31 @@ "@typescript-eslint/typescript-estree": "2.34.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, "node_modules/@typescript-eslint/parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.0.1.tgz", - "integrity": "sha512-1+qLmXHNAWSQ7RB6fdSQszAiA7JTwzakj5cNYjBTUmpH2cqilxMZEIV+DRKjVZs8NzP3ALmKexB0w/ExjcK9Iw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz", + "integrity": "sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.0.1", - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/typescript-estree": "4.0.1", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", "debug": "^4.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.1.tgz", - "integrity": "sha512-zGzleORFXrRWRJAMLTB2iJD1IZbCPkg4hsI8mGdpYlKaqzvKYSEWVAYh14eauaR+qIoZVWrXgYSXqLtTlxotiw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", + "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/visitor-keys": "4.0.1", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", - "lodash": "^4.17.15", "semver": "^7.3.2", "tsutils": "^3.17.1" }, @@ -6235,9 +6244,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -6250,22 +6259,19 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.0.1.tgz", - "integrity": "sha512-u3YEXVJ8jsj7QCJk3om0Y457fy2euEOkkzxIB/LKU3MdyI+FJ2gI0M4aKEaXzwCSfNDiZ13a3lDo5DVozc+XLQ==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", + "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/visitor-keys": "4.0.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0" } }, "node_modules/@typescript-eslint/types": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.0.1.tgz", - "integrity": "sha512-S+gD3fgbkZYW2rnbjugNMqibm9HpEjqZBZkTiI3PwbbNGWmAcxolWIUwZ0SKeG4Dy2ktpKKaI/6+HGYVH8Qrlg==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", + "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", "dev": true, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -6283,9 +6289,6 @@ "lodash": "^4.17.15", "semver": "^7.3.2", "tsutils": "^3.17.1" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { @@ -6303,144 +6306,141 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.1.tgz", - "integrity": "sha512-yBSqd6FjnTzbg5RUy9J+9kJEyQjTI34JdGMJz+9ttlJzLCnGkBikxw+N5n2VDcc3CesbIEJ0MnZc5uRYnrEnCw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", + "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.0.1", + "@typescript-eslint/types": "4.22.0", "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" } }, "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==", - "dev": true, - "engines": { - "node": ">=10" - } + "dev": true }, "node_modules/@uifabric/azure-themes": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.6.7.tgz", - "integrity": "sha512-KlfcjxoVn66wamYjWxZY1b7ezMIcX08ZbDZNKMvh/C9zchTqQ8P/cFAcfiBrxhKL3HJtb0CBFkhd3lYcQD76jg==", + "version": "7.7.32", + "resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.7.32.tgz", + "integrity": "sha512-S7mym3EQ/WjRu0+VHLv6HP06BvaszaEl1jXvI8IiP19aWn+AYWEtdB0BjTA8/SUc1PXrRWG/wZgucOgLvKncDA==", "dependencies": { - "@fluentui/theme": "^1.7.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "office-ui-fabric-react": "^7.157.0", + "@fluentui/theme": "^1.7.4", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "office-ui-fabric-react": "^7.168.2", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/azure-themes/node_modules/@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "node_modules/@uifabric/azure-themes/node_modules/@fluentui/react-focus": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", "dependencies": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/azure-themes/node_modules/office-ui-fabric-react": { - "version": "7.157.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz", - "integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==", - "dependencies": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "prop-types": "^15.7.2", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/file-type-icons": { - "version": "7.6.24", - "resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.24.tgz", - "integrity": "sha512-dmBpfWrWovw/TtwUtamfY4UqwsSqzTGm0Npvo/9b0mkIANrO6MGuz8M4MqvAWbzi/vq0dlGP5FF+ShkhtmrMnw==", - "dependencies": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/file-type-icons/node_modules/@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "dependencies": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/foundation": { - "version": "7.9.21", - "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.21.tgz", - "integrity": "sha512-z58pcC0hJr6S0iYLxNFoqfrfLIMxbSxFHRirk5LDT2HXbiVIYbJwbK4O0InS+sz3chdx8GGSdIUz7muXeT/D+A==", - "dependencies": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/foundation/node_modules/@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "dependencies": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/icons": { - "version": "7.5.18", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz", - "integrity": "sha512-gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==", - "dependencies": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/icons/node_modules/@fluentui/dom-utilities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", - "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", + "node_modules/@uifabric/azure-themes/node_modules/@fluentui/react-window-provider": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", "dependencies": { "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/icons/node_modules/@fluentui/dom-utilities/node_modules/@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", + "node_modules/@uifabric/azure-themes/node_modules/@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", "dependencies": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/azure-themes/node_modules/@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "dependencies": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/azure-themes/node_modules/@uifabric/react-hooks": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", + "dependencies": { + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/azure-themes/node_modules/@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "dependencies": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/azure-themes/node_modules/@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "dependencies": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/azure-themes/node_modules/office-ui-fabric-react": { + "version": "7.168.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz", + "integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==", + "dependencies": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.17.6", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.9.26", + "@uifabric/icons": "^7.5.23", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/icons": { + "version": "7.5.23", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", + "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", "tslib": "^1.10.0" } }, @@ -6455,24 +6455,20 @@ "tslib": "^1.10.0" } }, - "node_modules/@uifabric/icons/node_modules/@fluentui/theme/node_modules/@uifabric/merge-styles": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", - "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", + "node_modules/@uifabric/icons/node_modules/@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", "dependencies": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/icons/node_modules/@fluentui/theme/node_modules/@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "dependencies": { - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/icons/node_modules/@fluentui/theme/node_modules/@uifabric/utilities": { + "node_modules/@uifabric/icons/node_modules/@uifabric/utilities": { "version": "7.33.5", "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", @@ -6484,25 +6480,12 @@ "tslib": "^1.10.0" } }, - "node_modules/@uifabric/icons/node_modules/@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "dependencies": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - }, "node_modules/@uifabric/merge-styles": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz", - "integrity": "sha512-yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", + "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", "dependencies": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, @@ -6523,101 +6506,215 @@ "tslib": "^1.10.0" } }, - "node_modules/@uifabric/react-hooks": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.9.tgz", - "integrity": "sha512-VtDg2b3ypYXX7MLp1STk1Fj6ZIeZktXnm0hu1Os/pGvq6xkuLRly5XP6ZSHitm8K7ZcMo48CcNL8smmiXprBQg==", + "node_modules/@uifabric/react-cards/node_modules/@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", "dependencies": { - "@fluentui/react-window-provider": "^1.0.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/set-version": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.23.tgz", - "integrity": "sha512-9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA==", + "node_modules/@uifabric/react-cards/node_modules/@uifabric/file-type-icons": { + "version": "7.6.30", + "resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.30.tgz", + "integrity": "sha512-NpZ5kKFxmT60EvHzKSD9XpKYDLBCJDZw3ae3WhW4k2z67RKo5yOZ76hzN9y3UWW3E0qMw9r2+zFF7JukjQYHtw==", "dependencies": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/styling": { - "version": "7.13.7", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.13.7.tgz", - "integrity": "sha512-XFaDkvQqhhHwlW9+Yd9LQogPq0a5TC4on2csRnJUwmlTJ4IQtgvbPdAxmxz+18HZMJezUXYn7/ubcQvNRMFSJQ==", + "node_modules/@uifabric/react-cards/node_modules/@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", "dependencies": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/react-cards/node_modules/@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "dependencies": { + "@fluentui/theme": "^1.7.4", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.16.0", - "@uifabric/set-version": "^7.0.15", - "@uifabric/utilities": "^7.23.0", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/theme-samples": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.6.tgz", - "integrity": "sha512-oDBKF1I9E9kd75Jmi/WYkd7oMNMMpmkdcrasjnLGjAr8uQUCHIZAWL6Kf0R7EHdvqOupX7LrDZtj4BBBAICfmw==", + "node_modules/@uifabric/react-cards/node_modules/@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", "dependencies": { - "@fluentui/theme": "^1.7.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/variants": "^7.2.32", - "office-ui-fabric-react": "^7.157.0", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/theme-samples/node_modules/@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "dependencies": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - }, - "node_modules/@uifabric/theme-samples/node_modules/office-ui-fabric-react": { - "version": "7.157.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz", - "integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==", - "dependencies": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", "prop-types": "^15.7.2", "tslib": "^1.10.0" } }, - "node_modules/@uifabric/utilities": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.2.tgz", - "integrity": "sha512-v2c3IUJdpru/hoGNOwIW549O5D4XBAc5sLpB7RREGI5ywoWuIJlNyYtBEGOwhAY62J2blj11qi86Ep+oZDM/Kw==", + "node_modules/@uifabric/set-version": { + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", + "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", "dependencies": { - "@fluentui/dom-utilities": "^1.1.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples": { + "version": "7.2.34", + "resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.34.tgz", + "integrity": "sha512-olraurYMgXOA3ytPcm8oBcXj/eWZ04pAtpENkHQVujR6Ok4qqka1neVchTW7IBUgw+X+Rl/ampT7sqq77h2JYw==", + "dependencies": { + "@fluentui/theme": "^1.7.4", + "@uifabric/set-version": "^7.0.24", + "@uifabric/variants": "^7.2.35", + "office-ui-fabric-react": "^7.168.2", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@fluentui/react-focus": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", + "dependencies": { + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@fluentui/react-window-provider": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", + "dependencies": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "dependencies": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "dependencies": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@uifabric/react-hooks": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", + "dependencies": { + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "dependencies": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "dependencies": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/theme-samples/node_modules/office-ui-fabric-react": { + "version": "7.168.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz", + "integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==", + "dependencies": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.17.6", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.9.26", + "@uifabric/icons": "^7.5.23", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "prop-types": "^15.7.2", "tslib": "^1.10.0" } }, "node_modules/@uifabric/variants": { - "version": "7.2.32", - "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.32.tgz", - "integrity": "sha512-ffyizuMGyF/8SnPqBvdQ5IceiN5nVQkrUI0+GhCuKmZC7IDlW+srjfzzjHZ9QLmnb3N5e/qlCrjbhfgFvTfZ6w==", + "version": "7.2.35", + "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.35.tgz", + "integrity": "sha512-pK9n0QM3wYuE/f7scOhkW0jsSx1BPU6RePeuMJcoriCgK6zeN66p5ySwh+UhjuEtoGaSfVxeFve02hWNTfO8vg==", "dependencies": { - "@fluentui/theme": "^1.7.1", - "@uifabric/set-version": "^7.0.23", + "@fluentui/theme": "^1.7.4", + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/variants/node_modules/@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "dependencies": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "node_modules/@uifabric/variants/node_modules/@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "dependencies": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", "tslib": "^1.10.0" } }, @@ -6906,9 +7003,6 @@ "uuid": "^3.1.0", "xmldom": ">= 0.1.x", "xpath.js": "~1.1.0" - }, - "engines": { - "node": ">= 0.6.15" } }, "node_modules/adal-node/node_modules/@types/node": { @@ -6985,9 +7079,6 @@ "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/ajv": { @@ -7169,9 +7260,6 @@ "dependencies": { "@babel/runtime": "^7.10.2", "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" } }, "node_modules/arr-diff": { @@ -7325,9 +7413,6 @@ "object.assign": "^4.1.1", "string.prototype.trimend": "^1.0.1", "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/array.prototype.flat": { @@ -7593,9 +7678,6 @@ "mkdirp": "^0.5.3", "pify": "^4.0.1", "schema-utils": "^2.6.5" - }, - "engines": { - "node": ">= 6.9" } }, "node_modules/babel-loader/node_modules/find-cache-dir": { @@ -7896,9 +7978,9 @@ "integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=" }, "node_modules/bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "optional": true, "dependencies": { "buffer": "^5.5.0", @@ -7958,9 +8040,6 @@ "qs": "6.7.0", "raw-body": "2.4.0", "type-is": "~1.6.17" - }, - "engines": { - "node": ">= 0.8" } }, "node_modules/body-parser/node_modules/debug": { @@ -8004,10 +8083,7 @@ "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } + "dev": true }, "node_modules/body-parser/node_modules/raw-body": { "version": "2.4.0", @@ -8207,9 +8283,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/browserify-zlib": { @@ -8399,9 +8472,6 @@ "make-dir": "^3.0.0", "package-hash": "^4.0.0", "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/caching-transform/node_modules/make-dir": { @@ -8559,9 +8629,6 @@ "htmlparser2": "^6.0.0", "parse5": "^6.0.0", "parse5-htmlparser2-tree-adapter": "^6.0.0" - }, - "engines": { - "node": ">= 0.12" } }, "node_modules/cheerio-select-tmp": { @@ -8584,9 +8651,6 @@ "dev": true, "dependencies": { "domelementtype": "^2.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/cheerio/node_modules/domhandler": { @@ -8596,9 +8660,6 @@ "dev": true, "dependencies": { "domelementtype": "^2.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/cheerio/node_modules/entities": { @@ -8646,9 +8707,9 @@ } }, "node_modules/chokidar/node_modules/anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "optional": true, "dependencies": { @@ -8807,19 +8868,13 @@ "dev": true, "dependencies": { "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" } }, "node_modules/clean-css/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/clean-stack": { "version": "2.2.0", @@ -9064,9 +9119,6 @@ "on-headers": "~1.0.2", "safe-buffer": "5.1.2", "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/compression/node_modules/bytes": { @@ -9280,9 +9332,6 @@ "schema-utils": "^2.7.0", "serialize-javascript": "^3.1.0", "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 10.13.0" } }, "node_modules/copy-webpack-plugin/node_modules/loader-utils": { @@ -9293,9 +9342,6 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" } }, "node_modules/copy-webpack-plugin/node_modules/normalize-path": { @@ -9320,8 +9366,7 @@ "node_modules/core-js": { "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "hasInstallScript": true + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "node_modules/core-js-compat": { "version": "3.8.3", @@ -9345,8 +9390,7 @@ "node_modules/core-js-pure": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.3.tgz", - "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==", - "hasInstallScript": true + "integrity": "sha512-V5qQZVAr9K0xu7jXg1M7qTEwuxUgqr7dUOezGaNa7i+Xn9oXAU/d1fzqD9ObuwpVQOaorO5s70ckyi1woP9lVA==" }, "node_modules/core-util-is": { "version": "1.0.2", @@ -9528,9 +9572,6 @@ "postcss-modules-values": "^1.3.0", "postcss-value-parser": "^3.3.0", "source-list-map": "^2.0.0" - }, - "engines": { - "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" } }, "node_modules/css-loader/node_modules/postcss": { @@ -9542,19 +9583,13 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/css-loader/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/css-select": { "version": "3.1.2", @@ -9576,9 +9611,6 @@ "dev": true, "dependencies": { "domelementtype": "^2.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/css-selector-tokenizer": { @@ -9618,10 +9650,7 @@ "node_modules/css/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/css/node_modules/source-map-resolve": { "version": "0.6.0", @@ -10161,10 +10190,7 @@ "node_modules/date-utils": { "version": "1.2.21", "resolved": "https://registry.npmjs.org/date-utils/-/date-utils-1.2.21.tgz", - "integrity": "sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=", - "engines": { - "node": ">0.4.0" - } + "integrity": "sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q=" }, "node_modules/dayjs": { "version": "1.8.19", @@ -10396,9 +10422,6 @@ "p-map": "^2.0.0", "pify": "^4.0.1", "rimraf": "^2.6.3" - }, - "engines": { - "node": ">=6" } }, "node_modules/del/node_modules/array-union": { @@ -10424,9 +10447,6 @@ "object-assign": "^4.0.1", "pify": "^2.0.0", "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/del/node_modules/globby/node_modules/pify": { @@ -10750,9 +10770,6 @@ "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", "dependencies": { "domelementtype": "^2.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/dom-walk": { @@ -10815,9 +10832,6 @@ "integrity": "sha512-KPTbnGQ1JeEMQyO1iYXoagsI6so/C96HZiFyByU3T6iAzpXn8EGEvct6unm1ZGoed8ByO2oirxgwxBmqKF9haA==", "dependencies": { "domelementtype": "^2.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/dot-case": { @@ -10918,7 +10932,6 @@ "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", "dev": true, - "hasInstallScript": true, "engines": { "node": ">=0.10.0" } @@ -11017,19 +11030,13 @@ "dev": true, "dependencies": { "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" } }, "node_modules/enquirer/node_modules/ansi-colors": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, "node_modules/entities": { "version": "2.2.0", @@ -11132,9 +11139,6 @@ "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/errno": { @@ -11292,10 +11296,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, "node_modules/eslint": { "version": "7.8.1", @@ -11420,9 +11421,6 @@ "resolve": "^1.15.1", "string.prototype.matchall": "^4.0.2", "xregexp": "^4.3.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/eslint-plugin-react-hooks": { @@ -11443,9 +11441,6 @@ "define-properties": "^1.1.3", "es-abstract": "^1.18.0-next.1", "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/eslint-scope": { @@ -11508,9 +11503,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/eslint/node_modules/color-convert": { @@ -11540,9 +11532,6 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, "node_modules/eslint/node_modules/doctrine": { @@ -11552,9 +11541,6 @@ "dev": true, "dependencies": { "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/eslint/node_modules/globals": { @@ -11595,9 +11581,6 @@ "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/eslint/node_modules/optionator": { @@ -11612,9 +11595,6 @@ "prelude-ls": "^1.2.1", "type-check": "^0.4.0", "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/eslint/node_modules/path-key": { @@ -11630,10 +11610,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } + "dev": true }, "node_modules/eslint/node_modules/semver": { "version": "7.3.4", @@ -11711,9 +11688,6 @@ "dev": true, "dependencies": { "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/eslint/node_modules/which": { @@ -11740,9 +11714,6 @@ "acorn": "^7.4.0", "acorn-jsx": "^5.3.1", "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" } }, "node_modules/espree/node_modules/acorn": { @@ -11920,9 +11891,6 @@ "regex-not": "^1.0.0", "snapdragon": "^0.8.1", "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/expand-brackets/node_modules/debug": { @@ -12047,9 +12015,6 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" } }, "node_modules/express/node_modules/debug": { @@ -12077,10 +12042,7 @@ "version": "6.7.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true, - "engines": { - "node": ">=0.6" - } + "dev": true }, "node_modules/express/node_modules/safe-buffer": { "version": "5.1.2", @@ -12274,9 +12236,6 @@ "merge2": "^1.3.0", "micromatch": "^4.0.2", "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/fast-glob/node_modules/braces": { @@ -12285,9 +12244,6 @@ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/fast-glob/node_modules/fill-range": { @@ -12376,9 +12332,6 @@ "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.4.0" } }, "node_modules/fb-watchman": { @@ -12424,9 +12377,6 @@ "dependencies": { "loader-utils": "^1.0.2", "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0 < 7.0.0 || >= 8.9.0" } }, "node_modules/file-loader/node_modules/schema-utils": { @@ -12438,9 +12388,6 @@ "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/file-saver": { @@ -12509,9 +12456,6 @@ "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" } }, "node_modules/finalhandler/node_modules/debug": { @@ -12537,9 +12481,6 @@ "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/find-cache-dir/node_modules/find-up": { @@ -12582,9 +12523,6 @@ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dependencies": { "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/find-cache-dir/node_modules/p-locate/node_modules/p-limit": { @@ -12746,9 +12684,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/find-process/node_modules/color-convert": { @@ -12773,10 +12708,7 @@ "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, "node_modules/find-process/node_modules/has-flag": { "version": "4.0.0", @@ -12895,9 +12827,6 @@ "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", "dependencies": { "debug": "=3.1.0" - }, - "engines": { - "node": ">=4.0" } }, "node_modules/follow-redirects/node_modules/debug": { @@ -12948,9 +12877,6 @@ "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/foreground-child/node_modules/cross-spawn": { @@ -12962,9 +12888,6 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, "node_modules/foreground-child/node_modules/path-key": { @@ -13033,10 +12956,6 @@ "semver": "^5.6.0", "tapable": "^1.0.0", "worker-rpc": "^0.1.0" - }, - "engines": { - "node": ">=6.11.5", - "yarn": ">=1.0.0" } }, "node_modules/form-data": { @@ -13547,9 +13466,6 @@ "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dependencies": { "error-ex": "^1.2.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/gulp-cli/node_modules/path-exists": { @@ -13825,9 +13741,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.6.0", "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" } }, "node_modules/hash-base/node_modules/readable-stream": { @@ -13839,9 +13752,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/hash.js": { @@ -14089,10 +13999,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, "node_modules/html-minifier-terser/node_modules/param-case": { "version": "3.0.4", @@ -14182,9 +14089,6 @@ "integrity": "sha512-DtNqPxJNXPoTajs+lVQzGS1SULRI4GQaROeU5R41xH8acffHukxRh/NBVcTBsfCkJSkLq91rih5TpbEwUP9yWA==", "dependencies": { "css-line-break": "1.1.1" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/htmlparser2": { @@ -14204,9 +14108,6 @@ "integrity": "sha512-/6/kmsGlMY4Tup/nGVutdrK9yQi4YjWVcVeoQmixpzjOUK1U7pQkvAPHBJeUxOgxF0J8f8lwCJSlCfD0V4CMGQ==", "dependencies": { "domelementtype": "^2.2.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/htmlparser2/node_modules/domhandler/node_modules/domelementtype": { @@ -14260,9 +14161,6 @@ "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" } }, "node_modules/http-proxy-middleware": { @@ -14381,19 +14279,13 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/icss-utils/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/ieee754": { "version": "1.2.1", @@ -15133,9 +15025,6 @@ "@babel/types": "^7.4.0", "istanbul-lib-coverage": "^2.0.5", "semver": "^6.0.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { @@ -15159,9 +15048,6 @@ "p-map": "^3.0.0", "rimraf": "^3.0.0", "uuid": "^3.3.3" - }, - "engines": { - "node": ">=8" } }, "node_modules/istanbul-lib-processinfo/node_modules/cross-spawn": { @@ -15173,19 +15059,13 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, "node_modules/istanbul-lib-processinfo/node_modules/istanbul-lib-coverage": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/istanbul-lib-processinfo/node_modules/make-dir": { "version": "3.1.0", @@ -15299,9 +15179,6 @@ "make-dir": "^2.1.0", "rimraf": "^2.6.3", "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6" } }, "node_modules/istanbul-lib-source-maps/node_modules/rimraf": { @@ -15318,10 +15195,7 @@ "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/istanbul-reports": { "version": "2.2.7", @@ -15329,9 +15203,6 @@ "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", "dependencies": { "html-escaper": "^2.0.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/jest": { @@ -15401,9 +15272,6 @@ "pretty-format": "^26.6.2", "stack-utils": "^2.0.2", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/console": { @@ -15418,9 +15286,6 @@ "jest-message-util": "^26.6.2", "jest-util": "^26.6.2", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/environment": { @@ -15433,9 +15298,6 @@ "@jest/types": "^26.6.2", "@types/node": "*", "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/fake-timers": { @@ -15450,9 +15312,6 @@ "jest-message-util": "^26.6.2", "jest-mock": "^26.6.2", "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/globals": { @@ -15464,9 +15323,6 @@ "@jest/environment": "^26.6.2", "@jest/types": "^26.6.2", "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/source-map": { @@ -15478,9 +15334,6 @@ "callsites": "^3.0.0", "graceful-fs": "^4.2.4", "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/test-result": { @@ -15493,9 +15346,6 @@ "@jest/types": "^26.6.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/test-sequencer": { @@ -15509,9 +15359,6 @@ "jest-haste-map": "^26.6.2", "jest-runner": "^26.6.3", "jest-runtime": "^26.6.3" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/transform": { @@ -15535,9 +15382,6 @@ "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@jest/types": { @@ -15551,9 +15395,6 @@ "@types/node": "*", "@types/yargs": "^15.0.0", "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/@types/istanbul-reports": { @@ -15624,10 +15465,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, "node_modules/jest-circus/node_modules/ansi-regex": { "version": "5.0.0", @@ -15677,9 +15515,6 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/babel-plugin-istanbul": { @@ -15693,9 +15528,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^4.0.0", "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/babel-plugin-jest-hoist": { @@ -15708,9 +15540,6 @@ "@babel/types": "^7.3.3", "@types/babel__core": "^7.0.0", "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/babel-preset-current-node-syntax": { @@ -15753,9 +15582,6 @@ "dev": true, "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/camelcase": { @@ -15775,9 +15601,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-circus/node_modules/cliui": { @@ -15822,9 +15645,6 @@ "dev": true, "dependencies": { "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/cssstyle/node_modules/cssom": { @@ -15842,9 +15662,6 @@ "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-circus/node_modules/detect-newline": { @@ -15860,10 +15677,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } + "dev": true }, "node_modules/jest-circus/node_modules/domexception": { "version": "2.0.1", @@ -15872,9 +15686,6 @@ "dev": true, "dependencies": { "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/domexception/node_modules/webidl-conversions": { @@ -15942,9 +15753,6 @@ "jest-matcher-utils": "^26.6.2", "jest-message-util": "^26.6.2", "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/fill-range": { @@ -16001,9 +15809,6 @@ "dev": true, "dependencies": { "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-circus/node_modules/is-fullwidth-code-point": { @@ -16028,10 +15833,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/jest-circus/node_modules/istanbul-lib-instrument": { "version": "4.0.3", @@ -16043,9 +15845,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/jest-config": { @@ -16072,9 +15871,6 @@ "jest-validate": "^26.6.2", "micromatch": "^4.0.2", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-diff": { @@ -16087,9 +15883,6 @@ "diff-sequences": "^26.6.2", "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-docblock": { @@ -16099,9 +15892,6 @@ "dev": true, "dependencies": { "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-each": { @@ -16115,9 +15905,6 @@ "jest-get-type": "^26.3.0", "jest-util": "^26.6.2", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-environment-jsdom": { @@ -16133,9 +15920,6 @@ "jest-mock": "^26.6.2", "jest-util": "^26.6.2", "jsdom": "^16.4.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-environment-node": { @@ -16150,19 +15934,13 @@ "@types/node": "*", "jest-mock": "^26.6.2", "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-get-type": { "version": "26.3.0", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } + "dev": true }, "node_modules/jest-circus/node_modules/jest-haste-map": { "version": "26.6.2", @@ -16184,9 +15962,6 @@ "sane": "^4.0.3", "walker": "^1.0.7" }, - "engines": { - "node": ">= 10.14.2" - }, "optionalDependencies": { "fsevents": "^2.1.2" } @@ -16215,9 +15990,6 @@ "jest-util": "^26.6.2", "pretty-format": "^26.6.2", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-leak-detector": { @@ -16228,9 +16000,6 @@ "dependencies": { "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-matcher-utils": { @@ -16243,9 +16012,6 @@ "jest-diff": "^26.6.2", "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-message-util": { @@ -16263,9 +16029,6 @@ "pretty-format": "^26.6.2", "slash": "^3.0.0", "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-mock": { @@ -16276,19 +16039,13 @@ "dependencies": { "@jest/types": "^26.6.2", "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-regex-util": { "version": "26.0.0", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } + "dev": true }, "node_modules/jest-circus/node_modules/jest-resolve": { "version": "26.6.2", @@ -16304,9 +16061,6 @@ "read-pkg-up": "^7.0.1", "resolve": "^1.18.1", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-runner": { @@ -16335,9 +16089,6 @@ "jest-worker": "^26.6.2", "source-map-support": "^0.5.6", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-runtime": { @@ -16389,9 +16140,6 @@ "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-snapshot": { @@ -16416,9 +16164,6 @@ "natural-compare": "^1.4.0", "pretty-format": "^26.6.2", "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-snapshot/node_modules/semver": { @@ -16448,9 +16193,6 @@ "graceful-fs": "^4.2.4", "is-ci": "^2.0.0", "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-validate": { @@ -16465,9 +16207,6 @@ "jest-get-type": "^26.3.0", "leven": "^3.1.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-circus/node_modules/jest-worker": { @@ -16479,9 +16218,6 @@ "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" } }, "node_modules/jest-circus/node_modules/jsdom": { @@ -16516,9 +16252,6 @@ "whatwg-url": "^8.5.0", "ws": "^7.4.4", "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-circus/node_modules/locate-path": { @@ -16601,10 +16334,7 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "dev": true, - "engines": { - "node": ">=8.6" - } + "dev": true }, "node_modules/jest-circus/node_modules/pretty-format": { "version": "26.6.2", @@ -16616,9 +16346,6 @@ "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" } }, "node_modules/jest-circus/node_modules/react-is": { @@ -16637,9 +16364,6 @@ "normalize-package-data": "^2.5.0", "parse-json": "^5.0.0", "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/read-pkg-up": { @@ -16699,10 +16423,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/jest-circus/node_modules/stack-utils": { "version": "2.0.3", @@ -16804,9 +16525,6 @@ "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" } }, "node_modules/jest-circus/node_modules/tr46": { @@ -16816,9 +16534,6 @@ "dev": true, "dependencies": { "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/w3c-xmlserializer": { @@ -16828,19 +16543,13 @@ "dev": true, "dependencies": { "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-circus/node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } + "dev": true }, "node_modules/jest-circus/node_modules/whatwg-url": { "version": "8.5.0", @@ -16851,9 +16560,6 @@ "lodash": "^4.7.0", "tr46": "^2.0.2", "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-circus/node_modules/wrap-ansi": { @@ -16886,10 +16592,7 @@ "version": "7.4.5", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "dev": true, - "engines": { - "node": ">=8.3.0" - } + "dev": true }, "node_modules/jest-circus/node_modules/yargs": { "version": "15.4.1", @@ -16908,9 +16611,6 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-circus/node_modules/yargs-parser": { @@ -16921,9 +16621,6 @@ "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/jest-circus/node_modules/yargs-parser/node_modules/camelcase": { @@ -16957,9 +16654,6 @@ "micromatch": "^3.1.10", "pretty-format": "^24.9.0", "realpath-native": "^1.1.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/jest-config/node_modules/@babel/core": { @@ -16982,9 +16676,6 @@ "lodash": "^4.17.19", "semver": "^5.4.1", "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/jest-diff": { @@ -17200,9 +16891,6 @@ "jest-message-util": "^26.6.2", "jest-util": "^26.6.2", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/environment": { @@ -17215,9 +16903,6 @@ "@jest/types": "^26.6.2", "@types/node": "*", "jest-mock": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/fake-timers": { @@ -17232,9 +16917,6 @@ "jest-message-util": "^26.6.2", "jest-mock": "^26.6.2", "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/globals": { @@ -17246,9 +16928,6 @@ "@jest/environment": "^26.6.2", "@jest/types": "^26.6.2", "expect": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/source-map": { @@ -17260,9 +16939,6 @@ "callsites": "^3.0.0", "graceful-fs": "^4.2.4", "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/test-result": { @@ -17275,9 +16951,6 @@ "@jest/types": "^26.6.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/test-sequencer": { @@ -17291,9 +16964,6 @@ "jest-haste-map": "^26.6.2", "jest-runner": "^26.6.3", "jest-runtime": "^26.6.3" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/transform": { @@ -17317,9 +16987,6 @@ "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@jest/types": { @@ -17333,9 +17000,6 @@ "@types/node": "*", "@types/yargs": "^15.0.0", "chalk": "^4.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/@types/istanbul-reports": { @@ -17406,10 +17070,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/ansi-regex": { "version": "5.0.0", @@ -17459,9 +17120,6 @@ "chalk": "^4.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/babel-plugin-istanbul": { @@ -17475,9 +17133,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^4.0.0", "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/babel-plugin-jest-hoist": { @@ -17490,9 +17145,6 @@ "@babel/types": "^7.3.3", "@types/babel__core": "^7.0.0", "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/babel-preset-current-node-syntax": { @@ -17535,9 +17187,6 @@ "dev": true, "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/camelcase": { @@ -17557,9 +17206,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-playwright-preset/node_modules/cliui": { @@ -17595,10 +17241,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/cssom": { "version": "0.4.4", @@ -17613,9 +17256,6 @@ "dev": true, "dependencies": { "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/cssstyle/node_modules/cssom": { @@ -17633,9 +17273,6 @@ "abab": "^2.0.3", "whatwg-mimetype": "^2.3.0", "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-playwright-preset/node_modules/detect-newline": { @@ -17651,10 +17288,7 @@ "version": "26.6.2", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/domexception": { "version": "2.0.1", @@ -17663,9 +17297,6 @@ "dev": true, "dependencies": { "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/domexception/node_modules/webidl-conversions": { @@ -17733,9 +17364,6 @@ "jest-matcher-utils": "^26.6.2", "jest-message-util": "^26.6.2", "jest-regex-util": "^26.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/fill-range": { @@ -17792,9 +17420,6 @@ "dev": true, "dependencies": { "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-playwright-preset/node_modules/is-fullwidth-code-point": { @@ -17819,10 +17444,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/istanbul-lib-instrument": { "version": "4.0.3", @@ -17834,9 +17456,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/jest-config": { @@ -17863,9 +17482,6 @@ "jest-validate": "^26.6.2", "micromatch": "^4.0.2", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-diff": { @@ -17878,9 +17494,6 @@ "diff-sequences": "^26.6.2", "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-docblock": { @@ -17890,9 +17503,6 @@ "dev": true, "dependencies": { "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-each": { @@ -17906,9 +17516,6 @@ "jest-get-type": "^26.3.0", "jest-util": "^26.6.2", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-environment-jsdom": { @@ -17924,9 +17531,6 @@ "jest-mock": "^26.6.2", "jest-util": "^26.6.2", "jsdom": "^16.4.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-environment-node": { @@ -17941,19 +17545,13 @@ "@types/node": "*", "jest-mock": "^26.6.2", "jest-util": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-get-type": { "version": "26.3.0", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/jest-haste-map": { "version": "26.6.2", @@ -17975,9 +17573,6 @@ "sane": "^4.0.3", "walker": "^1.0.7" }, - "engines": { - "node": ">= 10.14.2" - }, "optionalDependencies": { "fsevents": "^2.1.2" } @@ -18006,9 +17601,6 @@ "jest-util": "^26.6.2", "pretty-format": "^26.6.2", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-leak-detector": { @@ -18019,9 +17611,6 @@ "dependencies": { "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-matcher-utils": { @@ -18034,9 +17623,6 @@ "jest-diff": "^26.6.2", "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-message-util": { @@ -18054,9 +17640,6 @@ "pretty-format": "^26.6.2", "slash": "^3.0.0", "stack-utils": "^2.0.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-mock": { @@ -18067,19 +17650,13 @@ "dependencies": { "@jest/types": "^26.6.2", "@types/node": "*" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-regex-util": { "version": "26.0.0", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-26.0.0.tgz", "integrity": "sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==", - "dev": true, - "engines": { - "node": ">= 10.14.2" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/jest-resolve": { "version": "26.6.2", @@ -18095,9 +17672,6 @@ "read-pkg-up": "^7.0.1", "resolve": "^1.18.1", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-runner": { @@ -18126,9 +17700,6 @@ "jest-worker": "^26.6.2", "source-map-support": "^0.5.6", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-runtime": { @@ -18180,9 +17751,6 @@ "dependencies": { "@types/node": "*", "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-snapshot": { @@ -18207,9 +17775,6 @@ "natural-compare": "^1.4.0", "pretty-format": "^26.6.2", "semver": "^7.3.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-snapshot/node_modules/semver": { @@ -18239,9 +17804,6 @@ "graceful-fs": "^4.2.4", "is-ci": "^2.0.0", "micromatch": "^4.0.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-validate": { @@ -18256,9 +17818,6 @@ "jest-get-type": "^26.3.0", "leven": "^3.1.0", "pretty-format": "^26.6.2" - }, - "engines": { - "node": ">= 10.14.2" } }, "node_modules/jest-playwright-preset/node_modules/jest-worker": { @@ -18270,9 +17829,6 @@ "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" } }, "node_modules/jest-playwright-preset/node_modules/jsdom": { @@ -18307,9 +17863,6 @@ "whatwg-url": "^8.5.0", "ws": "^7.4.4", "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-playwright-preset/node_modules/locate-path": { @@ -18392,17 +17945,13 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==", - "dev": true, - "engines": { - "node": ">=8.6" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/playwright-core": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.10.0.tgz", "integrity": "sha512-SDA5KPwnJJSfnNX/b7h8y0ChwBmcbbcCofYXkZGMVuzXZsmHPGLOBRhgkwN2nzJ10Ezf4cd1OcVOeOLKPxjeRg==", "dev": true, - "hasInstallScript": true, "dependencies": { "commander": "^6.1.0", "debug": "^4.1.1", @@ -18435,9 +17984,6 @@ "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^17.0.1" - }, - "engines": { - "node": ">= 10" } }, "node_modules/jest-playwright-preset/node_modules/react-is": { @@ -18456,9 +18002,6 @@ "normalize-package-data": "^2.5.0", "parse-json": "^5.0.0", "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/read-pkg-up": { @@ -18530,10 +18073,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/stack-utils": { "version": "2.0.3", @@ -18635,9 +18175,6 @@ "psl": "^1.1.33", "punycode": "^2.1.1", "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" } }, "node_modules/jest-playwright-preset/node_modules/tr46": { @@ -18647,9 +18184,6 @@ "dev": true, "dependencies": { "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/uuid": { @@ -18668,19 +18202,13 @@ "dev": true, "dependencies": { "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-playwright-preset/node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/whatwg-url": { "version": "8.5.0", @@ -18691,9 +18219,6 @@ "lodash": "^4.7.0", "tr46": "^2.0.2", "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-playwright-preset/node_modules/wrap-ansi": { @@ -18726,10 +18251,7 @@ "version": "7.4.5", "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.5.tgz", "integrity": "sha512-xzyu3hFvomRfXKH8vOFMU3OguG6oOvhXMo3xsGy3xWExqaM2dxBbVxuD99O7m3ZUFMvvscsZDqxfgMaRr/Nr1g==", - "dev": true, - "engines": { - "node": ">=8.3.0" - } + "dev": true }, "node_modules/jest-playwright-preset/node_modules/yargs": { "version": "15.4.1", @@ -18748,9 +18270,6 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest-playwright-preset/node_modules/yargs-parser": { @@ -18761,9 +18280,6 @@ "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/jest-playwright-preset/node_modules/yargs-parser/node_modules/camelcase": { @@ -18821,9 +18337,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/jest-process-manager/node_modules/color-convert": { @@ -19017,9 +18530,6 @@ "natural-compare": "^1.4.0", "pretty-format": "^24.9.0", "semver": "^6.2.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/jest-snapshot/node_modules/mkdirp": { @@ -19064,10 +18574,7 @@ "version": "8.2.2", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", - "dev": true, - "engines": { - "node": ">=4.0" - } + "dev": true }, "node_modules/jest-util": { "version": "24.9.0", @@ -19086,9 +18593,6 @@ "mkdirp": "^0.5.1", "slash": "^2.0.0", "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/jest-util/node_modules/mkdirp": { @@ -19105,10 +18609,7 @@ "node_modules/jest-util/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/jest-validate": { "version": "24.9.0", @@ -19177,9 +18678,6 @@ "jest-message-util": "^25.5.0", "jest-util": "^25.5.0", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/core": { @@ -19216,9 +18714,6 @@ "rimraf": "^3.0.0", "slash": "^3.0.0", "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/environment": { @@ -19230,9 +18725,6 @@ "@jest/fake-timers": "^25.5.0", "@jest/types": "^25.5.0", "jest-mock": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/fake-timers": { @@ -19246,9 +18738,6 @@ "jest-mock": "^25.5.0", "jest-util": "^25.5.0", "lolex": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/reporters": { @@ -19282,9 +18771,6 @@ "terminal-link": "^2.0.0", "v8-to-istanbul": "^4.1.3" }, - "engines": { - "node": ">= 8.3" - }, "optionalDependencies": { "node-notifier": "^6.0.0" } @@ -19298,9 +18784,6 @@ "callsites": "^3.0.0", "graceful-fs": "^4.2.4", "source-map": "^0.6.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/test-result": { @@ -19313,9 +18796,6 @@ "@jest/types": "^25.5.0", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/test-sequencer": { @@ -19329,9 +18809,6 @@ "jest-haste-map": "^25.5.1", "jest-runner": "^25.5.4", "jest-runtime": "^25.5.4" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/transform": { @@ -19356,9 +18833,6 @@ "slash": "^3.0.0", "source-map": "^0.6.1", "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@jest/types": { @@ -19371,9 +18845,6 @@ "@types/istanbul-reports": "^1.1.1", "@types/yargs": "^15.0.0", "chalk": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/@types/yargs": { @@ -19404,9 +18875,6 @@ "dev": true, "dependencies": { "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/ansi-escapes/node_modules/type-fest": { @@ -19466,9 +18934,6 @@ "chalk": "^3.0.0", "graceful-fs": "^4.2.4", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/babel-plugin-istanbul": { @@ -19482,9 +18947,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-instrument": "^4.0.0", "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/babel-plugin-jest-hoist": { @@ -19496,9 +18958,6 @@ "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/babel-preset-jest": { @@ -19521,9 +18980,6 @@ "dev": true, "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/chalk": { @@ -19534,9 +18990,6 @@ "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/cliui": { @@ -19577,9 +19030,6 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, "node_modules/jest/node_modules/cssom": { @@ -19595,9 +19045,6 @@ "dev": true, "dependencies": { "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/cssstyle/node_modules/cssom": { @@ -19619,10 +19066,7 @@ "version": "25.2.6", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-25.2.6.tgz", "integrity": "sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg==", - "dev": true, - "engines": { - "node": ">= 8.3" - } + "dev": true }, "node_modules/jest/node_modules/emoji-regex": { "version": "8.0.0", @@ -19646,9 +19090,6 @@ "p-finally": "^2.0.0", "signal-exit": "^3.0.2", "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": "^8.12.0 || >=9.7.0" } }, "node_modules/jest/node_modules/expect": { @@ -19663,9 +19104,6 @@ "jest-matcher-utils": "^25.5.0", "jest-message-util": "^25.5.0", "jest-regex-util": "^25.2.6" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/fill-range": { @@ -19774,10 +19212,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/jest/node_modules/istanbul-lib-instrument": { "version": "4.0.3", @@ -19789,9 +19224,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/istanbul-lib-report": { @@ -19803,9 +19235,6 @@ "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/istanbul-lib-source-maps": { @@ -19817,9 +19246,6 @@ "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/istanbul-reports": { @@ -19830,9 +19256,6 @@ "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/jest-changed-files": { @@ -19844,9 +19267,6 @@ "@jest/types": "^25.5.0", "execa": "^3.2.0", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-cli": { @@ -19902,9 +19322,6 @@ "micromatch": "^4.0.2", "pretty-format": "^25.5.0", "realpath-native": "^2.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-diff": { @@ -19917,9 +19334,6 @@ "diff-sequences": "^25.2.6", "jest-get-type": "^25.2.6", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-docblock": { @@ -19929,9 +19343,6 @@ "dev": true, "dependencies": { "detect-newline": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-each": { @@ -19945,9 +19356,6 @@ "jest-get-type": "^25.2.6", "jest-util": "^25.5.0", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-environment-jsdom": { @@ -19962,9 +19370,6 @@ "jest-mock": "^25.5.0", "jest-util": "^25.5.0", "jsdom": "^15.2.1" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-environment-node": { @@ -19979,19 +19384,13 @@ "jest-mock": "^25.5.0", "jest-util": "^25.5.0", "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-get-type": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-25.2.6.tgz", "integrity": "sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig==", - "dev": true, - "engines": { - "node": ">= 8.3" - } + "dev": true }, "node_modules/jest/node_modules/jest-haste-map": { "version": "25.5.1", @@ -20012,9 +19411,6 @@ "walker": "^1.0.7", "which": "^2.0.2" }, - "engines": { - "node": ">= 8.3" - }, "optionalDependencies": { "fsevents": "^2.1.2" } @@ -20042,9 +19438,6 @@ "jest-util": "^25.5.0", "pretty-format": "^25.5.0", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-leak-detector": { @@ -20055,9 +19448,6 @@ "dependencies": { "jest-get-type": "^25.2.6", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-matcher-utils": { @@ -20070,9 +19460,6 @@ "jest-diff": "^25.5.0", "jest-get-type": "^25.2.6", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-message-util": { @@ -20089,9 +19476,6 @@ "micromatch": "^4.0.2", "slash": "^3.0.0", "stack-utils": "^1.0.1" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-mock": { @@ -20101,19 +19485,13 @@ "dev": true, "dependencies": { "@jest/types": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-regex-util": { "version": "25.2.6", "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-25.2.6.tgz", "integrity": "sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw==", - "dev": true, - "engines": { - "node": ">= 8.3" - } + "dev": true }, "node_modules/jest/node_modules/jest-resolve": { "version": "25.5.1", @@ -20130,9 +19508,6 @@ "realpath-native": "^2.0.0", "resolve": "^1.17.0", "slash": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-resolve-dependencies": { @@ -20144,9 +19519,6 @@ "@jest/types": "^25.5.0", "jest-regex-util": "^25.2.6", "jest-snapshot": "^25.5.1" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-runner": { @@ -20174,9 +19546,6 @@ "jest-worker": "^25.5.0", "source-map-support": "^0.5.6", "throat": "^5.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-runtime": { @@ -20226,9 +19595,6 @@ "dev": true, "dependencies": { "graceful-fs": "^4.2.4" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-snapshot": { @@ -20252,9 +19618,6 @@ "natural-compare": "^1.4.0", "pretty-format": "^25.5.0", "semver": "^6.3.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-util": { @@ -20268,9 +19631,6 @@ "graceful-fs": "^4.2.4", "is-ci": "^2.0.0", "make-dir": "^3.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-validate": { @@ -20285,9 +19645,6 @@ "jest-get-type": "^25.2.6", "leven": "^3.1.0", "pretty-format": "^25.5.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-watcher": { @@ -20302,9 +19659,6 @@ "chalk": "^3.0.0", "jest-util": "^25.5.0", "string-length": "^3.1.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jest-worker": { @@ -20315,9 +19669,6 @@ "dependencies": { "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/jsdom": { @@ -20352,9 +19703,6 @@ "whatwg-url": "^7.0.0", "ws": "^7.0.0", "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/locate-path": { @@ -20467,9 +19815,6 @@ "dev": true, "dependencies": { "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/p-locate/node_modules/p-limit": { @@ -20545,9 +19890,6 @@ "ansi-regex": "^5.0.0", "ansi-styles": "^4.0.0", "react-is": "^16.12.0" - }, - "engines": { - "node": ">= 8.3" } }, "node_modules/jest/node_modules/pretty-format/node_modules/ansi-regex": { @@ -20569,9 +19911,6 @@ "normalize-package-data": "^2.5.0", "parse-json": "^5.0.0", "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/read-pkg-up": { @@ -20670,10 +20009,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/jest/node_modules/string-length": { "version": "3.1.0", @@ -20683,9 +20019,6 @@ "dependencies": { "astral-regex": "^1.0.0", "strip-ansi": "^5.2.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/string-length/node_modules/strip-ansi": { @@ -20721,9 +20054,6 @@ "dev": true, "dependencies": { "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/strip-ansi/node_modules/ansi-regex": { @@ -20857,9 +20187,6 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" } }, "node_modules/jest/node_modules/yargs-parser": { @@ -20870,9 +20197,6 @@ "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/joi": { @@ -21003,9 +20327,6 @@ "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" } }, "node_modules/jsdom/node_modules/ws": { @@ -21103,10 +20424,6 @@ "lodash.once": "^4.0.0", "ms": "^2.1.1", "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" } }, "node_modules/jsonwebtoken/node_modules/jws": { @@ -21139,9 +20456,6 @@ "dependencies": { "array-includes": "^3.1.1", "object.assign": "^4.1.0" - }, - "engines": { - "node": ">=4.0" } }, "node_modules/just-extend": { @@ -21300,9 +20614,6 @@ "less-vars-to-js": "^1.1.2", "loader-utils": "^0.2.16", "object.entries": "^1.0.3" - }, - "engines": { - "node": ">=5" } }, "node_modules/less-vars-loader/node_modules/big.js": { @@ -21396,10 +20707,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } + "optional": true }, "node_modules/leven": { "version": "3.1.0", @@ -21493,9 +20801,6 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/loader-utils/node_modules/json5": { @@ -22040,9 +21345,6 @@ "loader-utils": "^1.1.0", "schema-utils": "^1.0.0", "webpack-sources": "^1.1.0" - }, - "engines": { - "node": ">= 6.9.0 <7.0.0 || >= 8.9.0" } }, "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { @@ -22054,9 +21356,6 @@ "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/minimalistic-assert": { @@ -22207,10 +21506,7 @@ "node_modules/moment": { "version": "2.29.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", - "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", - "engines": { - "node": "*" - } + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" }, "node_modules/monaco-editor": { "version": "0.18.1", @@ -22281,9 +21577,6 @@ "integrity": "sha512-aOBD/L6jAsizDFzKxxvXxH0FEDjp6Inr3Ufi/Y2o7KCFKN+akoE2sLeszEb/0Y3VxHxK0F0ea7xQ/HHTomKivw==", "dependencies": { "tslib": "^1.9.3" - }, - "engines": { - "node": ">=0.8.0" } }, "node_modules/multicast-dns": { @@ -22434,9 +21727,9 @@ } }, "node_modules/node-abi": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz", - "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz", + "integrity": "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==", "optional": true, "dependencies": { "semver": "^5.4.1" @@ -22816,10 +22109,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true, - "engines": { - "node": ">=8" - } + "dev": true }, "node_modules/nyc/node_modules/istanbul-lib-instrument": { "version": "4.0.3", @@ -22831,9 +22121,6 @@ "@istanbuljs/schema": "^0.1.2", "istanbul-lib-coverage": "^3.0.0", "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/nyc/node_modules/istanbul-lib-report": { @@ -22845,9 +22132,6 @@ "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/nyc/node_modules/istanbul-lib-source-maps": { @@ -22859,9 +22143,6 @@ "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/nyc/node_modules/istanbul-reports": { @@ -22872,9 +22153,6 @@ "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/nyc/node_modules/locate-path": { @@ -22956,10 +22234,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/nyc/node_modules/string-width": { "version": "4.2.2", @@ -23044,9 +22319,6 @@ "which-module": "^2.0.0", "y18n": "^4.0.0", "yargs-parser": "^18.1.2" - }, - "engines": { - "node": ">=8" } }, "node_modules/nyc/node_modules/yargs-parser": { @@ -23057,9 +22329,6 @@ "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" - }, - "engines": { - "node": ">=6" } }, "node_modules/oauth-sign": { @@ -23187,9 +22456,6 @@ "es-abstract": "^1.12.0", "function-bind": "^1.1.1", "has": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/object.entries/node_modules/es-abstract": { @@ -23209,9 +22475,6 @@ "object.assign": "^4.1.1", "string.prototype.trimend": "^1.0.1", "string.prototype.trimstart": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" } }, "node_modules/object.fromentries": { @@ -23304,24 +22567,6 @@ "tslib": "^1.10.0" } }, - "node_modules/office-ui-fabric-react/node_modules/@fluentui/date-time-utilities": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", - "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", - "dependencies": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, - "node_modules/office-ui-fabric-react/node_modules/@fluentui/dom-utilities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", - "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", - "dependencies": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, "node_modules/office-ui-fabric-react/node_modules/@fluentui/react-focus": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", @@ -23367,25 +22612,6 @@ "tslib": "^1.10.0" } }, - "node_modules/office-ui-fabric-react/node_modules/@uifabric/icons": { - "version": "7.5.23", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", - "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", - "dependencies": { - "@uifabric/set-version": "^7.0.24", - "@uifabric/styling": "^7.19.0", - "tslib": "^1.10.0" - } - }, - "node_modules/office-ui-fabric-react/node_modules/@uifabric/merge-styles": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", - "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", - "dependencies": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, "node_modules/office-ui-fabric-react/node_modules/@uifabric/react-hooks": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", @@ -23397,14 +22623,6 @@ "tslib": "^1.10.0" } }, - "node_modules/office-ui-fabric-react/node_modules/@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "dependencies": { - "tslib": "^1.10.0" - } - }, "node_modules/office-ui-fabric-react/node_modules/@uifabric/styling": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", @@ -24100,7 +23318,6 @@ "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.10.0.tgz", "integrity": "sha512-b7SGBcCPq4W3pb4ImEDmNXtO0ZkJbZMuWiShsaNJd+rGfY/6fqwgllsAojmxGSgFmijYw7WxCoPiAIEDIH16Kw==", "dev": true, - "hasInstallScript": true, "dependencies": { "commander": "^6.1.0", "debug": "^4.1.1", @@ -24127,10 +23344,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, "node_modules/playwright/node_modules/escape-string-regexp": { "version": "2.0.0", @@ -24211,9 +23425,6 @@ "async": "^2.6.2", "debug": "^3.1.1", "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" } }, "node_modules/portfinder/node_modules/debug": { @@ -24265,9 +23476,6 @@ "colorette": "^1.2.2", "nanoid": "^3.1.22", "source-map": "^0.6.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-modules-extract-imports": { @@ -24288,19 +23496,13 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-extract-imports/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/postcss-modules-local-by-default": { "version": "1.2.0", @@ -24321,19 +23523,13 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-local-by-default/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/postcss-modules-scope": { "version": "1.1.0", @@ -24354,19 +23550,13 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-scope/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/postcss-modules-values": { "version": "1.3.0", @@ -24387,19 +23577,13 @@ "chalk": "^2.4.1", "source-map": "^0.6.1", "supports-color": "^5.4.0" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/postcss-modules-values/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/postcss-value-parser": { "version": "3.3.1", @@ -24414,10 +23598,7 @@ "node_modules/postcss/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/prebuild-install": { "version": "5.3.3", @@ -24499,9 +23680,6 @@ "ansi-regex": "^4.0.0", "ansi-styles": "^3.2.0", "react-is": "^16.8.4" - }, - "engines": { - "node": ">= 6" } }, "node_modules/pretty-format/node_modules/ansi-regex": { @@ -24944,9 +24122,6 @@ "shell-quote": "1.7.2", "strip-ansi": "6.0.0", "text-table": "0.2.0" - }, - "engines": { - "node": ">=10" } }, "node_modules/react-dev-utils/node_modules/@babel/code-frame": { @@ -24994,9 +24169,6 @@ "path-key": "^3.1.0", "shebang-command": "^2.0.0", "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" } }, "node_modules/react-dev-utils/node_modules/escape-string-regexp": { @@ -25012,10 +24184,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", "integrity": "sha512-LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } + "dev": true }, "node_modules/react-dev-utils/node_modules/find-up": { "version": "4.1.0", @@ -25051,9 +24220,6 @@ "ini": "^1.3.5", "kind-of": "^6.0.2", "which": "^1.3.1" - }, - "engines": { - "node": ">=6" } }, "node_modules/react-dev-utils/node_modules/global-prefix/node_modules/which": { @@ -25094,9 +24260,6 @@ "big.js": "^5.2.2", "emojis-list": "^3.0.0", "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" } }, "node_modules/react-dev-utils/node_modules/locate-path": { @@ -25257,18 +24420,12 @@ "react-lifecycles-compat": "^3.0.4", "shallowequal": "^1.1.0", "source-map": "^0.7.3" - }, - "engines": { - "node": ">= 6" } }, "node_modules/react-hot-loader/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "engines": { - "node": ">= 8" - } + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" }, "node_modules/react-hotkeys": { "version": "2.0.0", @@ -25522,9 +24679,6 @@ "esprima": "~3.1.0", "private": "~0.1.5", "source-map": "~0.5.0" - }, - "engines": { - "node": ">= 0.8" } }, "node_modules/recast/node_modules/esprima": { @@ -25558,9 +24712,6 @@ "dev": true, "dependencies": { "minimatch": "3.0.4" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/redent": { @@ -25822,10 +24973,7 @@ "version": "3.4.2", "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true, - "engines": { - "node": ">= 6" - } + "dev": true }, "node_modules/renderkid/node_modules/dom-serializer": { "version": "0.2.2", @@ -25906,9 +25054,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/repeat-element": { @@ -25973,9 +25118,6 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" } }, "node_modules/request-promise-core": { @@ -25997,9 +25139,6 @@ "request-promise-core": "1.1.4", "stealthy-require": "^1.1.1", "tough-cookie": "^2.3.3" - }, - "engines": { - "node": ">=0.12.0" } }, "node_modules/request-promise-native/node_modules/tough-cookie": { @@ -26009,9 +25148,6 @@ "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" } }, "node_modules/request/node_modules/form-data": { @@ -26022,18 +25158,12 @@ "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 0.12" } }, "node_modules/request/node_modules/qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "engines": { - "node": ">=0.6" - } + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "node_modules/request/node_modules/tough-cookie": { "version": "2.5.0", @@ -26042,9 +25172,6 @@ "dependencies": { "psl": "^1.1.28", "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" } }, "node_modules/require-directory": { @@ -26180,10 +25307,7 @@ "node_modules/rsvp": { "version": "4.8.5", "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-4.8.5.tgz", - "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==", - "engines": { - "node": "6.* || >= 7.*" - } + "integrity": "sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==" }, "node_modules/run-parallel": { "version": "1.1.10", @@ -26224,9 +25348,6 @@ "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", "dependencies": { "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" } }, "node_modules/safe-buffer": { @@ -26300,10 +25421,7 @@ "node_modules/sanitize-html/node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, "node_modules/sax": { "version": "1.2.4", @@ -26411,9 +25529,6 @@ "regression": "^2.0.1", "semiotic-mark": "0.5.0", "svg-path-bounding-box": "1.0.4" - }, - "engines": { - "node": ">=7" } }, "node_modules/semiotic-mark": { @@ -26513,9 +25628,6 @@ "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/send/node_modules/debug": { @@ -26572,9 +25684,6 @@ "http-errors": "~1.6.2", "mime-types": "~2.1.17", "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" } }, "node_modules/serve-index/node_modules/debug": { @@ -26781,9 +25890,6 @@ "samsam": "^1.1.3", "text-encoding": "0.6.4", "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=0.1.103" } }, "node_modules/sinon/node_modules/lolex": { @@ -26847,9 +25953,6 @@ "source-map": "^0.5.6", "source-map-resolve": "^0.5.0", "use": "^3.1.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/snapdragon-node": { @@ -27009,9 +26112,6 @@ "dev": true, "dependencies": { "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" } }, "node_modules/source-list-map": { @@ -27051,10 +26151,7 @@ "node_modules/source-map-support/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/source-map-url": { "version": "0.4.0", @@ -27086,9 +26183,6 @@ "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "which": "^2.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/spawn-wrap/node_modules/make-dir": { @@ -27206,9 +26300,6 @@ "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" } }, "node_modules/split-string": { @@ -27541,9 +26632,6 @@ "dependencies": { "loader-utils": "^1.1.0", "schema-utils": "^0.4.5" - }, - "engines": { - "node": ">= 0.12.0" } }, "node_modules/style-loader/node_modules/schema-utils": { @@ -27554,16 +26642,12 @@ "dependencies": { "ajv": "^6.1.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/styled-components": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.3.2.tgz", "integrity": "sha512-NppHzIFavZ3TsIU3R1omtddJ0Bv1+j50AKh3ZWyXHuFvJq1I8qkQ5mZ7uQgD89Y8zJNx2qRo6RqAH1BmoVafHw==", - "hasInstallScript": true, "dependencies": { "@babel/helper-module-imports": "^7.0.0", "@babel/traverse": "^7.0.0", @@ -27823,9 +26907,6 @@ "dependencies": { "ansi-escapes": "^4.2.1", "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" } }, "node_modules/terminal-link/node_modules/ansi-escapes": { @@ -27844,10 +26925,7 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - } + "dev": true }, "node_modules/terser": { "version": "4.8.0", @@ -27879,9 +26957,6 @@ "source-map": "^0.6.1", "terser": "^4.8.0", "webpack-sources": "^1.4.3" - }, - "engines": { - "node": ">= 10.13.0" } }, "node_modules/terser-webpack-plugin/node_modules/has-flag": { @@ -27900,9 +26975,6 @@ "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" } }, "node_modules/terser-webpack-plugin/node_modules/p-limit": { @@ -27927,10 +26999,7 @@ "node_modules/terser-webpack-plugin/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/terser-webpack-plugin/node_modules/supports-color": { "version": "7.2.0", @@ -27946,10 +27015,7 @@ "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/test-exclude": { "version": "5.2.3", @@ -28225,9 +27291,6 @@ "loader-utils": "^1.0.2", "micromatch": "^4.0.0", "semver": "^6.0.0" - }, - "engines": { - "node": ">=8.6" } }, "node_modules/ts-loader/node_modules/braces": { @@ -28237,9 +27300,6 @@ "dev": true, "dependencies": { "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" } }, "node_modules/ts-loader/node_modules/fill-range": { @@ -28510,10 +27570,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/uglify-save-license": { "version": "0.4.1", @@ -28706,9 +27763,6 @@ "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-value": { @@ -28719,9 +27773,6 @@ "get-value": "^2.0.3", "has-values": "^0.1.4", "isobject": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" } }, "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { @@ -28795,9 +27846,6 @@ "loader-utils": "^1.1.0", "mime": "^2.0.3", "schema-utils": "^1.0.0" - }, - "engines": { - "node": ">= 6.9.0 < 7.0.0 || >= 8.9.0" } }, "node_modules/url-loader/node_modules/schema-utils": { @@ -28809,9 +27857,6 @@ "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/url-parse": { @@ -28914,19 +27959,13 @@ "@types/istanbul-lib-coverage": "^2.0.1", "convert-source-map": "^1.6.0", "source-map": "^0.7.3" - }, - "engines": { - "node": "8.x.x || >=10.10.0" } }, "node_modules/v8-to-istanbul/node_modules/source-map": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } + "dev": true }, "node_modules/v8flags": { "version": "3.2.0", @@ -29305,18 +28344,6 @@ }, "engines": { "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - }, - "webpack-command": { - "optional": true - } } }, "node_modules/webpack-bundle-analyzer": { @@ -29362,10 +28389,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } + "dev": true }, "node_modules/webpack-bundle-analyzer/node_modules/mkdirp": { "version": "0.5.5", @@ -29440,9 +28464,6 @@ "graceful-fs": "^4.1.2", "memory-fs": "^0.4.0", "tapable": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/webpack-cli/node_modules/global-modules": { @@ -29531,9 +28552,6 @@ "big.js": "^5.2.2", "emojis-list": "^2.0.0", "json5": "^1.0.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/webpack-cli/node_modules/memory-fs": { @@ -29634,9 +28652,6 @@ "mkdirp": "^0.5.1", "range-parser": "^1.2.1", "webpack-log": "^2.0.0" - }, - "engines": { - "node": ">= 6" } }, "node_modules/webpack-dev-middleware/node_modules/memory-fs": { @@ -29817,9 +28832,6 @@ "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/webpack-dev-server/node_modules/semver": { @@ -29860,19 +28872,13 @@ "dependencies": { "ansi-colors": "^3.0.0", "uuid": "^3.3.2" - }, - "engines": { - "node": ">= 6" } }, "node_modules/webpack-log/node_modules/ansi-colors": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true, - "engines": { - "node": ">=6" - } + "dev": true }, "node_modules/webpack-sources": { "version": "1.4.3", @@ -29886,10 +28892,7 @@ "node_modules/webpack-sources/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "engines": { - "node": ">=0.10.0" - } + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "node_modules/webpack/node_modules/acorn": { "version": "6.4.2", @@ -29934,9 +28937,6 @@ "dependencies": { "esrecurse": "^4.1.0", "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=4.0.0" } }, "node_modules/webpack/node_modules/find-cache-dir": { @@ -30014,9 +29014,6 @@ "ajv": "^6.1.0", "ajv-errors": "^1.0.0", "ajv-keywords": "^3.1.0" - }, - "engines": { - "node": ">= 4" } }, "node_modules/webpack/node_modules/serialize-javascript": { @@ -30032,10 +29029,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } + "dev": true }, "node_modules/webpack/node_modules/ssri": { "version": "6.0.2", @@ -30061,9 +29055,6 @@ "terser": "^4.1.2", "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" - }, - "engines": { - "node": ">= 6.9.0" } }, "node_modules/webpack/node_modules/yallist": { @@ -30079,9 +29070,6 @@ "dev": true, "dependencies": { "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.6.0" } }, "node_modules/websocket-extensions": { @@ -30249,9 +29237,6 @@ "dev": true, "dependencies": { "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" } }, "node_modules/write-file-atomic": { @@ -32569,77 +31554,306 @@ } }, "@fluentui/date-time-utilities": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.0.tgz", - "integrity": "sha512-D8p5WWeonqRO1EgIvo7WSlX1rcm87r2VQd62zTJPQImx8rpwc77CRI+iAvfxyVHRZMdt4Qk6Jq99dUaudPWaZw==", + "version": "7.9.1", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", + "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, "@fluentui/dom-utilities": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.1.tgz", - "integrity": "sha512-w40gi8fzCpwa7U8cONiuu8rszPStkVOL/weDf5pCbYEb1gdaV7MDPSNkgM6IV0Kz+k017noDgK9Fv4ru1Dwz1g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", + "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "@fluentui/font-icons-mdl2": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.0.5.tgz", + "integrity": "sha512-/2Qx/LCZH+rupbhzZ+WKCrw2XK3J2wj3pjMPLTLj/6rnmouA7yywFDiHIAseQXPhY34nzRVX4x3zEjz3RMWvmA==", + "requires": { + "@fluentui/set-version": "^8.0.3", + "@fluentui/style-utilities": "^8.0.5", + "tslib": "^1.10.0" + } + }, + "@fluentui/foundation-legacy": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.0.5.tgz", + "integrity": "sha512-bHODfopWfT4HfBvXFCyfKxi7/BrIVgKUvQ4X3L2GXUZv6jjQMvLPWZ1u8n2tdp91ch1KSWnBXklGaK/nyK1M5w==", + "requires": { + "@fluentui/merge-styles": "^8.0.4", + "@fluentui/set-version": "^8.0.3", + "@fluentui/style-utilities": "^8.0.5", + "@fluentui/utilities": "^8.0.5", "tslib": "^1.10.0" } }, "@fluentui/keyboard-key": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.12.tgz", - "integrity": "sha512-t3yIbbPKJubb22vQ/FIWwS9vFAzaPYzFxKWPHVWLtxs/P+5yL+LD3B16DRtYreWAdl9CZvEbos58ChLZ0KHwSQ==", + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.2.17.tgz", + "integrity": "sha512-iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==", "requires": { "tslib": "^1.10.0" } }, - "@fluentui/react-focus": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.1.tgz", - "integrity": "sha512-Nulq2pE4pX6Pf+tGZl8uLp8VfqUzx3elC5v7QvYSBdjnZK8ykitdsa+Sd3PKYWW2EMlzVRSptlzbuJ6JyEDQKQ==", + "@fluentui/merge-styles": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/merge-styles/-/merge-styles-8.1.0.tgz", + "integrity": "sha512-afJ8rw1V3sfgzfufP7ockcP5AxiQN7VlqKo6JoCSZbWC2ypQ0DZre7d3k+Zj2LvjCrM8HM57YEfwXWT/WxGfqw==", "requires": { - "@fluentui/keyboard-key": "^0.2.12", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@fluentui/react": { + "version": "8.10.1", + "resolved": "https://registry.npmjs.org/@fluentui/react/-/react-8.10.1.tgz", + "integrity": "sha512-J6wCfkkCzJ2Z9K6KVCrshpDDnhh5smKEGChsxMkLRoXYeAlVUMiS9lLg93PW+AbY4NfG+tNO2Ug8itNKpUmlYw==", + "requires": { + "@fluentui/date-time-utilities": "^8.0.2", + "@fluentui/font-icons-mdl2": "^8.0.4", + "@fluentui/foundation-legacy": "^8.0.4", + "@fluentui/merge-styles": "^8.0.3", + "@fluentui/react-focus": "^8.0.7", + "@fluentui/react-hooks": "^8.1.2", + "@fluentui/react-window-provider": "^2.0.2", + "@fluentui/set-version": "^8.0.2", + "@fluentui/style-utilities": "^8.0.4", + "@fluentui/theme": "^2.0.4", + "@fluentui/utilities": "^8.0.4", + "@microsoft/load-themed-styles": "^1.10.26", "tslib": "^1.10.0" }, "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "@fluentui/date-time-utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-8.1.0.tgz", + "integrity": "sha512-1PSp/ufi5urnvxkbT9Lijsh7Y2PNEsZfpNXDVwOpPDqpRkRrd8Wr8IdRPQk7w6XLZIeDCiWIBXBRYCVp6KGbYg==", "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@fluentui/react-window-provider": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.1.0.tgz", + "integrity": "sha512-LcNni1utHiXiCu8EbXL42o118yNRAWKX15qKd0iyMqcUg5RplOdWuaniohXv2gsmdNB0l3F5Tnujgayy0xPlvQ==", + "requires": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + } + } + }, + "@fluentui/react-focus": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.1.0.tgz", + "integrity": "sha512-yzfDnDrnHq5z4Nt1xY7LS+DtjbJmCdpDiTiQm8tnCj98qESzqqqAwjpSc+HFXVexBzlmPNf1hzc8BMCQOUF/7g==", + "requires": { + "@fluentui/keyboard-key": "^0.3.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "@fluentui/style-utilities": "^8.1.0", + "@fluentui/utilities": "^8.1.0", + "tslib": "^2.1.0" + }, + "dependencies": { + "@fluentui/dom-utilities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.0.tgz", + "integrity": "sha512-DMr0uH4EtyXgdpVLyvWq60YtWN38jx22rtdsEIbbBNYcFgcl3rRa7M8p/rnaw/k/KWX35H40AYga1SM6Zgpyww==", + "requires": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "@fluentui/keyboard-key": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@fluentui/keyboard-key/-/keyboard-key-0.3.0.tgz", + "integrity": "sha512-5GZ9038lwNK5BcgFkbXJs6zpZUlmyrszWbKPMqcHysMFBbL569VwV7zQt/yF3ivL0L4k46C+uXHbnFbMgZEJ4w==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@fluentui/utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.1.0.tgz", + "integrity": "sha512-/yHnDkrIlyn/Jy3XWccNRyuujQDgUxz44OQDEiMSko50S/L7cVeWdIzG/CiIsCnKAgU4/QyzRo40Wdy3rdM8ag==", + "requires": { + "@fluentui/dom-utilities": "^2.1.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@fluentui/react-hooks": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-hooks/-/react-hooks-8.1.3.tgz", + "integrity": "sha512-6iWYjfqXvEhHZoY4nmN6APoIdxwNxzVxXOJgq1Oo1nbR10E7Va7mz41gvlFAgg8OmH7mGpdSztlVj6TVl/TY2g==", + "requires": { + "@fluentui/react-window-provider": "^2.0.3", + "@fluentui/set-version": "^8.0.3", + "@fluentui/utilities": "^8.0.5", + "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/react-window-provider": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-2.0.3.tgz", + "integrity": "sha512-eefkmzLJbYjVHtEtGbOwReyeYG+2bDefxdmvPRSVFlcRFCnasTvshuZj3xkaKSu5fsGzGw+f+ab3hDgLSETvbg==", + "requires": { + "@fluentui/set-version": "^8.0.3", "tslib": "^1.10.0" } } } }, - "@fluentui/react-window-provider": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.1.tgz", - "integrity": "sha512-5hvruDyF0uE8+6YN6Y+d2sEzexBadxUNxUjDcDreTPsmtHPwF5FPBYLhoD7T84L5U4YNvKxKh25tYJm6E0GE2w==", + "@fluentui/set-version": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/set-version/-/set-version-8.1.0.tgz", + "integrity": "sha512-FhruPyh+VoAVmqAadRxawMNB13syBLoT6PePdZ+sKW7rZVc2CWT3qw7w9O9x6MJeRNl6/6ZnjCo6sWyOyVEdNg==", "requires": { - "@uifabric/set-version": "^7.0.23", - "tslib": "^1.10.0" + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@fluentui/style-utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.1.0.tgz", + "integrity": "sha512-XUH+8T7/2HAMYzTLr20odD5lfKy56fJooFlkSmW0SSC6sOilHmrdPZCBSTV+WJzH/YY2ed/GnySIjCQOx5UsYg==", + "requires": { + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "@fluentui/theme": "^2.1.0", + "@fluentui/utilities": "^8.1.0", + "@microsoft/load-themed-styles": "^1.10.26", + "tslib": "^2.1.0" + }, + "dependencies": { + "@fluentui/dom-utilities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.0.tgz", + "integrity": "sha512-DMr0uH4EtyXgdpVLyvWq60YtWN38jx22rtdsEIbbBNYcFgcl3rRa7M8p/rnaw/k/KWX35H40AYga1SM6Zgpyww==", + "requires": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "@fluentui/utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.1.0.tgz", + "integrity": "sha512-/yHnDkrIlyn/Jy3XWccNRyuujQDgUxz44OQDEiMSko50S/L7cVeWdIzG/CiIsCnKAgU4/QyzRo40Wdy3rdM8ag==", + "requires": { + "@fluentui/dom-utilities": "^2.1.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } } }, "@fluentui/theme": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.1.tgz", - "integrity": "sha512-cwx8gJ0O9d+Z8g6Lq7BgDgH8XPfSloUSy0GN3fWHJGrDCBPcnmz6/GKbbvxw9PZ2t1iNcAzJEJNT6NyuOOobPA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-2.1.0.tgz", + "integrity": "sha512-2jFun5LqUZJb+AiWeLOnNQTxrKWMCNHFTs4+QIUyL7ZPMAiNZyWMsQJfeGOujzdlReivZ7kONNQEi0LTJ0Tmzw==", "requires": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "@fluentui/utilities": "^8.1.0", + "tslib": "^2.1.0" + }, + "dependencies": { + "@fluentui/dom-utilities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.1.0.tgz", + "integrity": "sha512-DMr0uH4EtyXgdpVLyvWq60YtWN38jx22rtdsEIbbBNYcFgcl3rRa7M8p/rnaw/k/KWX35H40AYga1SM6Zgpyww==", + "requires": { + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "@fluentui/utilities": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.1.0.tgz", + "integrity": "sha512-/yHnDkrIlyn/Jy3XWccNRyuujQDgUxz44OQDEiMSko50S/L7cVeWdIzG/CiIsCnKAgU4/QyzRo40Wdy3rdM8ag==", + "requires": { + "@fluentui/dom-utilities": "^2.1.0", + "@fluentui/merge-styles": "^8.1.0", + "@fluentui/set-version": "^8.1.0", + "tslib": "^2.1.0" + } + }, + "tslib": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz", + "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==" + } + } + }, + "@fluentui/utilities": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/@fluentui/utilities/-/utilities-8.0.5.tgz", + "integrity": "sha512-epqvqV4YjKcbgShLhDk/y2Xa+6sUTBXry/BrMPNVwNOqdj2HCf4eCY+a1emFnytMpIVysfYZ6glIx9MNQ8JgNg==", + "requires": { + "@fluentui/dom-utilities": "^2.0.3", + "@fluentui/merge-styles": "^8.0.4", + "@fluentui/set-version": "^8.0.3", "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/dom-utilities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-2.0.3.tgz", + "integrity": "sha512-RaUoEYd12TeEjvKLBtfXDZmjreaV6qIfBB7G+QCuBpv5FF7TjhrGK3WDZ7oaG0dkdegAx+ecyUFyOfoBRPJLkg==", + "requires": { + "@fluentui/set-version": "^8.0.3", + "tslib": "^1.10.0" + } + } } }, "@hapi/formula": { @@ -36146,54 +35360,54 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.0.1.tgz", - "integrity": "sha512-pQZtXupCn11O4AwpYVUX4PDFfmIJl90ZgrEBg0CEcqlwvPiG0uY81fimr1oMFblZnpKAq6prrT9a59pj1x58rw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.22.0.tgz", + "integrity": "sha512-U8SP9VOs275iDXaL08Ln1Fa/wLXfj5aTr/1c0t0j6CdbOnxh+TruXu1p4I0NAvdPBQgoPjHsgKn28mOi0FzfoA==", "dev": true, "requires": { - "@typescript-eslint/experimental-utils": "4.0.1", - "@typescript-eslint/scope-manager": "4.0.1", + "@typescript-eslint/experimental-utils": "4.22.0", + "@typescript-eslint/scope-manager": "4.22.0", "debug": "^4.1.1", "functional-red-black-tree": "^1.0.1", + "lodash": "^4.17.15", "regexpp": "^3.0.0", "semver": "^7.3.2", "tsutils": "^3.17.1" }, "dependencies": { "@typescript-eslint/experimental-utils": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.0.1.tgz", - "integrity": "sha512-gAqOjLiHoED79iYTt3F4uSHrYmg/GPz/zGezdB0jAdr6S6gwNiR/j7cTZ8nREKVzMVKLd9G3xbg1sV9GClW3sw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.22.0.tgz", + "integrity": "sha512-xJXHHl6TuAxB5AWiVrGhvbGL8/hbiCQ8FiWwObO3r0fnvBdrbWEDy1hlvGQOAWc6qsCWuWMKdVWlLAEMpxnddg==", "dev": true, "requires": { "@types/json-schema": "^7.0.3", - "@typescript-eslint/scope-manager": "4.0.1", - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/typescript-estree": "4.0.1", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", "eslint-scope": "^5.0.0", "eslint-utils": "^2.0.0" } }, "@typescript-eslint/typescript-estree": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.1.tgz", - "integrity": "sha512-zGzleORFXrRWRJAMLTB2iJD1IZbCPkg4hsI8mGdpYlKaqzvKYSEWVAYh14eauaR+qIoZVWrXgYSXqLtTlxotiw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", + "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/visitor-keys": "4.0.1", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", - "lodash": "^4.17.15", "semver": "^7.3.2", "tsutils": "^3.17.1" } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -36213,37 +35427,36 @@ } }, "@typescript-eslint/parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.0.1.tgz", - "integrity": "sha512-1+qLmXHNAWSQ7RB6fdSQszAiA7JTwzakj5cNYjBTUmpH2cqilxMZEIV+DRKjVZs8NzP3ALmKexB0w/ExjcK9Iw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.22.0.tgz", + "integrity": "sha512-z/bGdBJJZJN76nvAY9DkJANYgK3nlRstRRi74WHm3jjgf2I8AglrSY+6l7ogxOmn55YJ6oKZCLLy+6PW70z15Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "4.0.1", - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/typescript-estree": "4.0.1", + "@typescript-eslint/scope-manager": "4.22.0", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/typescript-estree": "4.22.0", "debug": "^4.1.1" }, "dependencies": { "@typescript-eslint/typescript-estree": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.0.1.tgz", - "integrity": "sha512-zGzleORFXrRWRJAMLTB2iJD1IZbCPkg4hsI8mGdpYlKaqzvKYSEWVAYh14eauaR+qIoZVWrXgYSXqLtTlxotiw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.22.0.tgz", + "integrity": "sha512-TkIFeu5JEeSs5ze/4NID+PIcVjgoU3cUQUIZnH3Sb1cEn1lBo7StSV5bwPuJQuoxKXlzAObjYTilOEKRuhR5yg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/visitor-keys": "4.0.1", + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0", "debug": "^4.1.1", "globby": "^11.0.1", "is-glob": "^4.0.1", - "lodash": "^4.17.15", "semver": "^7.3.2", "tsutils": "^3.17.1" } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -36252,19 +35465,19 @@ } }, "@typescript-eslint/scope-manager": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.0.1.tgz", - "integrity": "sha512-u3YEXVJ8jsj7QCJk3om0Y457fy2euEOkkzxIB/LKU3MdyI+FJ2gI0M4aKEaXzwCSfNDiZ13a3lDo5DVozc+XLQ==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.22.0.tgz", + "integrity": "sha512-OcCO7LTdk6ukawUM40wo61WdeoA7NM/zaoq1/2cs13M7GyiF+T4rxuA4xM+6LeHWjWbss7hkGXjFDRcKD4O04Q==", "dev": true, "requires": { - "@typescript-eslint/types": "4.0.1", - "@typescript-eslint/visitor-keys": "4.0.1" + "@typescript-eslint/types": "4.22.0", + "@typescript-eslint/visitor-keys": "4.22.0" } }, "@typescript-eslint/types": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.0.1.tgz", - "integrity": "sha512-S+gD3fgbkZYW2rnbjugNMqibm9HpEjqZBZkTiI3PwbbNGWmAcxolWIUwZ0SKeG4Dy2ktpKKaI/6+HGYVH8Qrlg==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.22.0.tgz", + "integrity": "sha512-sW/BiXmmyMqDPO2kpOhSy2Py5w6KvRRsKZnV0c4+0nr4GIcedJwXAq+RHNK4lLVEZAJYFltnnk1tJSlbeS9lYA==", "dev": true }, "@typescript-eslint/typescript-estree": { @@ -36292,12 +35505,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.0.1.tgz", - "integrity": "sha512-yBSqd6FjnTzbg5RUy9J+9kJEyQjTI34JdGMJz+9ttlJzLCnGkBikxw+N5n2VDcc3CesbIEJ0MnZc5uRYnrEnCw==", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.22.0.tgz", + "integrity": "sha512-nnMu4F+s4o0sll6cBSsTeVsT4cwxB7zECK3dFxzEjPBii9xLpq4yqqsy/FU5zMfan6G60DKZSCXAa3sHJZrcYw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.0.1", + "@typescript-eslint/types": "4.22.0", "eslint-visitor-keys": "^2.0.0" }, "dependencies": { @@ -36310,131 +35523,37 @@ } }, "@uifabric/azure-themes": { - "version": "7.6.7", - "resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.6.7.tgz", - "integrity": "sha512-KlfcjxoVn66wamYjWxZY1b7ezMIcX08ZbDZNKMvh/C9zchTqQ8P/cFAcfiBrxhKL3HJtb0CBFkhd3lYcQD76jg==", + "version": "7.7.32", + "resolved": "https://registry.npmjs.org/@uifabric/azure-themes/-/azure-themes-7.7.32.tgz", + "integrity": "sha512-S7mym3EQ/WjRu0+VHLv6HP06BvaszaEl1jXvI8IiP19aWn+AYWEtdB0BjTA8/SUc1PXrRWG/wZgucOgLvKncDA==", "requires": { - "@fluentui/theme": "^1.7.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "office-ui-fabric-react": "^7.157.0", + "@fluentui/theme": "^1.7.4", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "office-ui-fabric-react": "^7.168.2", "tslib": "^1.10.0" }, "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "@fluentui/react-focus": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "office-ui-fabric-react": { - "version": "7.157.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz", - "integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==", - "requires": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "prop-types": "^15.7.2", - "tslib": "^1.10.0" - } - } - } - }, - "@uifabric/file-type-icons": { - "version": "7.6.24", - "resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.24.tgz", - "integrity": "sha512-dmBpfWrWovw/TtwUtamfY4UqwsSqzTGm0Npvo/9b0mkIANrO6MGuz8M4MqvAWbzi/vq0dlGP5FF+ShkhtmrMnw==", - "requires": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - } - } - }, - "@uifabric/foundation": { - "version": "7.9.21", - "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.21.tgz", - "integrity": "sha512-z58pcC0hJr6S0iYLxNFoqfrfLIMxbSxFHRirk5LDT2HXbiVIYbJwbK4O0InS+sz3chdx8GGSdIUz7muXeT/D+A==", - "requires": { - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - } - } - }, - "@uifabric/icons": { - "version": "7.5.18", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.18.tgz", - "integrity": "sha512-gLPEccWlTER9NiXcOHZ+dSJ3tgLAQ4mTf3hTlKV7e7dKBTl95jzcemG5S2NJQ7xWPTH3+5K1Bpd+nqZo9EJw3w==", - "requires": { - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "tslib": "^1.10.0" - }, - "dependencies": { - "@fluentui/dom-utilities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", - "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", + "@fluentui/react-window-provider": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", "requires": { "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "requires": { - "tslib": "^1.10.0" - } - } } }, "@fluentui/theme": { @@ -36446,60 +35565,132 @@ "@uifabric/set-version": "^7.0.24", "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" - }, - "dependencies": { - "@uifabric/merge-styles": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", - "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, - "@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "requires": { - "tslib": "^1.10.0" - } - }, - "@uifabric/utilities": { - "version": "7.33.5", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", - "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", - "requires": { - "@fluentui/dom-utilities": "^1.1.2", - "@uifabric/merge-styles": "^7.19.2", - "@uifabric/set-version": "^7.0.24", - "prop-types": "^15.7.2", - "tslib": "^1.10.0" - } - } + } + }, + "@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/react-hooks": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", + "requires": { + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" } }, "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", "requires": { - "@fluentui/theme": "^1.7.1", + "@fluentui/theme": "^1.7.4", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "office-ui-fabric-react": { + "version": "7.168.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz", + "integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.17.6", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.9.26", + "@uifabric/icons": "^7.5.23", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + } + } + }, + "@uifabric/icons": { + "version": "7.5.23", + "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", + "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "requires": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", "tslib": "^1.10.0" } } } }, "@uifabric/merge-styles": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.1.tgz", - "integrity": "sha512-yqUwmk62Kgu216QNPE9vOfS3h0kiSbTvoqM5QcZi+IzpqsBOlzZx3A9Er9UiDaqHRd5lsYF5pO/jeUULmBWF/A==", + "version": "7.19.2", + "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", + "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", "requires": { - "@uifabric/set-version": "^7.0.23", + "@uifabric/set-version": "^7.0.24", "tslib": "^1.10.0" } }, @@ -36518,106 +35709,224 @@ "@uifabric/utilities": "^7.23.0", "office-ui-fabric-react": "^7.121.10", "tslib": "^1.10.0" - } - }, - "@uifabric/react-hooks": { - "version": "7.13.9", - "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.13.9.tgz", - "integrity": "sha512-VtDg2b3ypYXX7MLp1STk1Fj6ZIeZktXnm0hu1Os/pGvq6xkuLRly5XP6ZSHitm8K7ZcMo48CcNL8smmiXprBQg==", - "requires": { - "@fluentui/react-window-provider": "^1.0.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", - "tslib": "^1.10.0" - } - }, - "@uifabric/set-version": { - "version": "7.0.23", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.23.tgz", - "integrity": "sha512-9E+YKtnH2kyMKnK9XZZsqyM8OCxEJIIfxtaThTlQpYOzrWAGJxQADFbZ7+Usi0U2xHnWNPFROjq+B9ocEzhqMA==", - "requires": { - "tslib": "^1.10.0" - } - }, - "@uifabric/styling": { - "version": "7.13.7", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.13.7.tgz", - "integrity": "sha512-XFaDkvQqhhHwlW9+Yd9LQogPq0a5TC4on2csRnJUwmlTJ4IQtgvbPdAxmxz+18HZMJezUXYn7/ubcQvNRMFSJQ==", - "requires": { - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.16.0", - "@uifabric/set-version": "^7.0.15", - "@uifabric/utilities": "^7.23.0", - "tslib": "^1.10.0" - } - }, - "@uifabric/theme-samples": { - "version": "7.2.6", - "resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.6.tgz", - "integrity": "sha512-oDBKF1I9E9kd75Jmi/WYkd7oMNMMpmkdcrasjnLGjAr8uQUCHIZAWL6Kf0R7EHdvqOupX7LrDZtj4BBBAICfmw==", - "requires": { - "@fluentui/theme": "^1.7.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/variants": "^7.2.32", - "office-ui-fabric-react": "^7.157.0", - "tslib": "^1.10.0" }, "dependencies": { - "@uifabric/styling": { - "version": "7.16.19", - "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.16.19.tgz", - "integrity": "sha512-T5fjUCx0LbzUC8Myw15YCaBjdGbSrihWSiPHtLVW77k59yWAW947XnH73QngE8xU7kyKPH3AhQrUEBMB2NjHag==", + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", "requires": { - "@fluentui/theme": "^1.7.1", - "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", "tslib": "^1.10.0" } }, - "office-ui-fabric-react": { - "version": "7.157.0", - "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.157.0.tgz", - "integrity": "sha512-nS0RfhQKho2S2hiUxHcgM47AZUK1EzbjkdWkofNHQk8q0PwJkQPTUjTbSuxhQNLzXHiaQJz930ZYUvRCZvlL1w==", + "@uifabric/file-type-icons": { + "version": "7.6.30", + "resolved": "https://registry.npmjs.org/@uifabric/file-type-icons/-/file-type-icons-7.6.30.tgz", + "integrity": "sha512-NpZ5kKFxmT60EvHzKSD9XpKYDLBCJDZw3ae3WhW4k2z67RKo5yOZ76hzN9y3UWW3E0qMw9r2+zFF7JukjQYHtw==", "requires": { - "@fluentui/date-time-utilities": "^7.9.0", - "@fluentui/react-focus": "^7.17.1", - "@fluentui/react-window-provider": "^1.0.1", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "tslib": "^1.10.0" + } + }, + "@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "requires": { + "@fluentui/theme": "^1.7.4", "@microsoft/load-themed-styles": "^1.10.26", - "@uifabric/foundation": "^7.9.21", - "@uifabric/icons": "^7.5.18", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/react-hooks": "^7.13.9", - "@uifabric/set-version": "^7.0.23", - "@uifabric/styling": "^7.16.19", - "@uifabric/utilities": "^7.33.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", "prop-types": "^15.7.2", "tslib": "^1.10.0" } } } }, - "@uifabric/utilities": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.2.tgz", - "integrity": "sha512-v2c3IUJdpru/hoGNOwIW549O5D4XBAc5sLpB7RREGI5ywoWuIJlNyYtBEGOwhAY62J2blj11qi86Ep+oZDM/Kw==", + "@uifabric/set-version": { + "version": "7.0.24", + "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", + "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", "requires": { - "@fluentui/dom-utilities": "^1.1.1", - "@uifabric/merge-styles": "^7.19.1", - "@uifabric/set-version": "^7.0.23", - "prop-types": "^15.7.2", "tslib": "^1.10.0" } }, - "@uifabric/variants": { - "version": "7.2.32", - "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.32.tgz", - "integrity": "sha512-ffyizuMGyF/8SnPqBvdQ5IceiN5nVQkrUI0+GhCuKmZC7IDlW+srjfzzjHZ9QLmnb3N5e/qlCrjbhfgFvTfZ6w==", + "@uifabric/theme-samples": { + "version": "7.2.34", + "resolved": "https://registry.npmjs.org/@uifabric/theme-samples/-/theme-samples-7.2.34.tgz", + "integrity": "sha512-olraurYMgXOA3ytPcm8oBcXj/eWZ04pAtpENkHQVujR6Ok4qqka1neVchTW7IBUgw+X+Rl/ampT7sqq77h2JYw==", "requires": { - "@fluentui/theme": "^1.7.1", - "@uifabric/set-version": "^7.0.23", + "@fluentui/theme": "^1.7.4", + "@uifabric/set-version": "^7.0.24", + "@uifabric/variants": "^7.2.35", + "office-ui-fabric-react": "^7.168.2", "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/react-focus": { + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", + "integrity": "sha512-JkLWNDe567lhvbnIhbYv9nUWYDIVN06utc3krs0UZBI+A0YZtQmftBtY0ghXo4PSjgozZocdu9sYkkgZOgyRLg==", + "requires": { + "@fluentui/keyboard-key": "^0.2.12", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@fluentui/react-window-provider": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@fluentui/react-window-provider/-/react-window-provider-1.0.2.tgz", + "integrity": "sha512-fGSgL3Vp/+6t1Ysfz21FWZmqsU+iFVxOigvHnm5uKVyyRPwtaabv/F6kQ2y5isLMI2YmJaUd2i0cDJKu8ggrvw==", + "requires": { + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + } + }, + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/foundation": { + "version": "7.9.26", + "resolved": "https://registry.npmjs.org/@uifabric/foundation/-/foundation-7.9.26.tgz", + "integrity": "sha512-1FLTb+jlH/Tuel2L9wT/zLl5ZW6W4Lbjrs5VUVjv81vWxzznvPnTf8+Ew0qkzaH7xDuMNMl7okswhV0IfJyheg==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/react-hooks": { + "version": "7.14.0", + "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", + "integrity": "sha512-Ndu/DEKHF4gFXEZa2AGgSkdWaj+njVrsSyXbkWRh2UZReFWnH1LMko9p/ZCwk1i9kAd5CUmyIfURUzIEya9YCg==", + "requires": { + "@fluentui/react-window-provider": "^1.0.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/styling": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", + "integrity": "sha512-fXComDtGV7dHF4rP4cLHwI6fC+1f/nvPavpMBz4IQdySwixta9TVMKbzt0OA6i0mJztqZCVAd27F/sl9R/JmcQ==", + "requires": { + "@fluentui/theme": "^1.7.4", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + }, + "office-ui-fabric-react": { + "version": "7.168.2", + "resolved": "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.168.2.tgz", + "integrity": "sha512-ssN6/6K4Z/PdT2ExE1q61B34w6LqfQrqTvrlq/NfSvDk7USxXvP3+rd7HQAUrynSsWx2MnNeYt23d34sSHLCKw==", + "requires": { + "@fluentui/date-time-utilities": "^7.9.1", + "@fluentui/react-focus": "^7.17.6", + "@fluentui/react-window-provider": "^1.0.2", + "@microsoft/load-themed-styles": "^1.10.26", + "@uifabric/foundation": "^7.9.26", + "@uifabric/icons": "^7.5.23", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/react-hooks": "^7.14.0", + "@uifabric/set-version": "^7.0.24", + "@uifabric/styling": "^7.19.0", + "@uifabric/utilities": "^7.33.5", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + } + } + }, + "@uifabric/variants": { + "version": "7.2.35", + "resolved": "https://registry.npmjs.org/@uifabric/variants/-/variants-7.2.35.tgz", + "integrity": "sha512-pK9n0QM3wYuE/f7scOhkW0jsSx1BPU6RePeuMJcoriCgK6zeN66p5ySwh+UhjuEtoGaSfVxeFve02hWNTfO8vg==", + "requires": { + "@fluentui/theme": "^1.7.4", + "@uifabric/set-version": "^7.0.24", + "tslib": "^1.10.0" + }, + "dependencies": { + "@fluentui/theme": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@fluentui/theme/-/theme-1.7.4.tgz", + "integrity": "sha512-o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==", + "requires": { + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "@uifabric/utilities": "^7.33.5", + "tslib": "^1.10.0" + } + }, + "@uifabric/utilities": { + "version": "7.33.5", + "resolved": "https://registry.npmjs.org/@uifabric/utilities/-/utilities-7.33.5.tgz", + "integrity": "sha512-I+Oi0deD/xltSluFY8l2EVd/J4mvOaMljxKO2knSD9/KoGDlo/o5GN4gbnVo8nIt76HWHLAk3KtlJKJm6BhbIQ==", + "requires": { + "@fluentui/dom-utilities": "^1.1.2", + "@uifabric/merge-styles": "^7.19.2", + "@uifabric/set-version": "^7.0.24", + "prop-types": "^15.7.2", + "tslib": "^1.10.0" + } + } } }, "@ungap/url-search-params": { @@ -37722,9 +37031,9 @@ "integrity": "sha1-SfiW1uhYpKSZ34XDj7OZua/4QPg=" }, "bl": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.3.tgz", - "integrity": "sha512-fs4G6/Hu4/EE+F75J8DuN/0IpQqNjAdC7aEQv7Qt8MHGUH7Ckv2MwTEEeN9QehD0pfIDkMI1bkHYkKy7xHyKIg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "optional": true, "requires": { "buffer": "^5.5.0", @@ -38400,9 +37709,9 @@ }, "dependencies": { "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", "dev": true, "optional": true, "requires": { @@ -49815,9 +49124,9 @@ } }, "node-abi": { - "version": "2.19.3", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.19.3.tgz", - "integrity": "sha512-9xZrlyfvKhWme2EXFKQhZRp1yNWT/uI1luYPr3sFl+H4keYY4xR+1jO7mvTTijIsHf1M+QDe9uWuKeEpLInIlg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz", + "integrity": "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==", "optional": true, "requires": { "semver": "^5.4.1" @@ -50527,24 +49836,6 @@ "tslib": "^1.10.0" }, "dependencies": { - "@fluentui/date-time-utilities": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/@fluentui/date-time-utilities/-/date-time-utilities-7.9.1.tgz", - "integrity": "sha512-o8iU1VIY+QsqVRWARKiky29fh4KR1xaKSgMClXIi65qkt8EDDhjmlzL0KVDEoDA2GWukwb/1PpaVCWDg4v3cUQ==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, - "@fluentui/dom-utilities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@fluentui/dom-utilities/-/dom-utilities-1.1.2.tgz", - "integrity": "sha512-XqPS7l3YoMwxdNlaYF6S2Mp0K3FmVIOIy2K3YkMc+eRxu9wFK6emr2Q/3rBhtG5u/On37NExRT7/5CTLnoi9gw==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, "@fluentui/react-focus": { "version": "7.17.6", "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.17.6.tgz", @@ -50590,25 +49881,6 @@ "tslib": "^1.10.0" } }, - "@uifabric/icons": { - "version": "7.5.23", - "resolved": "https://registry.npmjs.org/@uifabric/icons/-/icons-7.5.23.tgz", - "integrity": "sha512-eIvUbH0EWgFgdfgFfINgqS2ZVZTyJ/9n5nR4bmcyAe75wsKxm4ser4WIT9IvaBF6+HFVfjUF/v6+VMD7y2LBng==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "@uifabric/styling": "^7.19.0", - "tslib": "^1.10.0" - } - }, - "@uifabric/merge-styles": { - "version": "7.19.2", - "resolved": "https://registry.npmjs.org/@uifabric/merge-styles/-/merge-styles-7.19.2.tgz", - "integrity": "sha512-kTlhwglDqwVgIaJq+0yXgzi65plGhmFcPrfme/rXUGMJZoU+qlGT5jXj5d3kuI59p6VB8jWEg9DAxHozhYeu0g==", - "requires": { - "@uifabric/set-version": "^7.0.24", - "tslib": "^1.10.0" - } - }, "@uifabric/react-hooks": { "version": "7.14.0", "resolved": "https://registry.npmjs.org/@uifabric/react-hooks/-/react-hooks-7.14.0.tgz", @@ -50620,14 +49892,6 @@ "tslib": "^1.10.0" } }, - "@uifabric/set-version": { - "version": "7.0.24", - "resolved": "https://registry.npmjs.org/@uifabric/set-version/-/set-version-7.0.24.tgz", - "integrity": "sha512-t0Pt21dRqdC707/ConVJC0WvcQ/KF7tKLU8AZY7YdjgJpMHi1c0C427DB4jfUY19I92f60LOQyhJ4efH+KpFEg==", - "requires": { - "tslib": "^1.10.0" - } - }, "@uifabric/styling": { "version": "7.19.0", "resolved": "https://registry.npmjs.org/@uifabric/styling/-/styling-7.19.0.tgz", diff --git a/package.json b/package.json index e3f58a22a..07e35aea9 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,7 @@ "@azure/ms-rest-nodeauth": "3.0.7", "@babel/plugin-proposal-class-properties": "7.12.1", "@babel/plugin-proposal-decorators": "7.12.12", + "@fluentui/react": "8.10.1", "@jupyterlab/services": "6.0.2", "@jupyterlab/terminal": "3.0.3", "@microsoft/applicationinsights-web": "2.6.1", @@ -43,7 +44,6 @@ "@types/mkdirp": "1.0.1", "@types/node-fetch": "2.5.7", "@uifabric/react-cards": "0.109.110", - "@uifabric/styling": "7.13.7", "applicationinsights": "1.8.0", "bootstrap": "3.4.1", "canvas": "file:./canvas", @@ -76,7 +76,6 @@ "monaco-editor": "0.18.1", "ms": "2.1.3", "msal": "1.4.4", - "office-ui-fabric-react": "7.164.2", "p-retry": "4.2.0", "plotly.js-cartesian-dist-min": "1.52.3", "post-robot": "10.0.42", @@ -128,8 +127,8 @@ "@types/sinon": "2.3.3", "@types/styled-components": "5.1.1", "@types/underscore": "1.7.36", - "@typescript-eslint/eslint-plugin": "4.0.1", - "@typescript-eslint/parser": "4.0.1", + "@typescript-eslint/eslint-plugin": "4.22.0", + "@typescript-eslint/parser": "4.22.0", "babel-jest": "24.9.0", "babel-loader": "8.1.0", "buffer": "5.1.0", diff --git a/src/CellOutputViewer/CellOutputViewer.less b/src/CellOutputViewer/CellOutputViewer.less new file mode 100644 index 000000000..2e79facc7 --- /dev/null +++ b/src/CellOutputViewer/CellOutputViewer.less @@ -0,0 +1,10 @@ +.schema-analyzer-cell-outputs { + padding: 10px; +} + +.schema-analyzer-cell-output { + margin-bottom: 20px; + padding: 10px; + border-radius: 2px; + box-shadow: rgba(0, 0, 0, 13%) 0px 1.6px 3.6px 0px, rgba(0, 0, 0, 11%) 0px 0.3px 0.9px 0px; +} \ No newline at end of file diff --git a/src/CellOutputViewer/CellOutputViewer.tsx b/src/CellOutputViewer/CellOutputViewer.tsx index d5b8eb933..3ddd72ca8 100644 --- a/src/CellOutputViewer/CellOutputViewer.tsx +++ b/src/CellOutputViewer/CellOutputViewer.tsx @@ -11,13 +11,14 @@ import * as ReactDOM from "react-dom"; import "../../externals/iframeResizer.contentWindow.min.js"; // Required for iFrameResizer to work import "../Explorer/Notebook/NotebookRenderer/base.css"; import "../Explorer/Notebook/NotebookRenderer/default.css"; +import "./CellOutputViewer.less"; import { TransformMedia } from "./TransformMedia"; export interface CellOutputViewerProps { id: string; contentRef: ContentRef; - hidden: boolean; - expanded: boolean; + outputsContainerClassName: string; + outputClassName: string; outputs: OnDiskOutput[]; onMetadataChange: (metadata: JSONObject, mediaType: string, index?: number) => void; } @@ -34,27 +35,26 @@ const onInit = async () => { // eslint-disable-next-line @typescript-eslint/no-explicit-any const props = (event as any).data as CellOutputViewerProps; const outputs = ( -
+
{props.outputs?.map((output, index) => ( - - props.onMetadataChange(metadata, mediaType, index)} - /> - props.onMetadataChange(metadata, mediaType, index)} - /> - - - +
+ + props.onMetadataChange(metadata, mediaType, index)} + /> + props.onMetadataChange(metadata, mediaType, index)} + /> + + + +
))}
); diff --git a/src/Common/Constants.ts b/src/Common/Constants.ts index e6b545793..097c4237f 100644 --- a/src/Common/Constants.ts +++ b/src/Common/Constants.ts @@ -65,28 +65,18 @@ export class ClientDefaults { public static readonly arcadiaTokenRefreshIntervalPaddingMs: number = 2000; } -export class AccountKind { - public static DocumentDB: string = "DocumentDB"; - public static MongoDB: string = "MongoDB"; - public static Parse: string = "Parse"; - public static GlobalDocumentDB: string = "GlobalDocumentDB"; - public static Default: string = AccountKind.DocumentDB; +export enum AccountKind { + DocumentDB = "DocumentDB", + MongoDB = "MongoDB", + Parse = "Parse", + GlobalDocumentDB = "GlobalDocumentDB", + Default = "DocumentDB", } export class CorrelationBackend { public static Url: string = "https://aka.ms/cosmosdbanalytics"; } -export class DefaultAccountExperience { - public static DocumentDB: string = "DocumentDB"; - public static Graph: string = "Graph"; - public static MongoDB: string = "MongoDB"; - public static ApiForMongoDB: string = "Azure Cosmos DB for MongoDB API"; - public static Table: string = "Table"; - public static Cassandra: string = "Cassandra"; - public static Default: string = DefaultAccountExperience.DocumentDB; -} - export class CapabilityNames { public static EnableTable: string = "EnableTable"; public static EnableGremlin: string = "EnableGremlin"; diff --git a/src/Common/CosmosClient.test.ts b/src/Common/CosmosClient.test.ts index ea91efa53..96505f208 100644 --- a/src/Common/CosmosClient.test.ts +++ b/src/Common/CosmosClient.test.ts @@ -1,5 +1,5 @@ import { ResourceType } from "@azure/cosmos/dist-esm/common/constants"; -import { configContext, Platform, updateConfigContext, resetConfigContext } from "../ConfigContext"; +import { Platform, resetConfigContext, updateConfigContext } from "../ConfigContext"; import { updateUserContext } from "../UserContext"; import { endpoint, getTokenFromAuthService, requestPlugin, tokenProvider } from "./CosmosClient"; @@ -91,7 +91,6 @@ describe("endpoint", () => { location: "foo", type: "foo", kind: "foo", - tags: [], properties: { documentEndpoint: "bar", gremlinEndpoint: "foo", diff --git a/src/Common/CosmosClient.ts b/src/Common/CosmosClient.ts index 4e3029290..9ba100b3b 100644 --- a/src/Common/CosmosClient.ts +++ b/src/Common/CosmosClient.ts @@ -43,12 +43,7 @@ export const endpoint = () => { const location = _global.parent ? _global.parent.location : _global.location; return configContext.EMULATOR_ENDPOINT || location.origin; } - return ( - userContext.endpoint || - (userContext.databaseAccount && - userContext.databaseAccount.properties && - userContext.databaseAccount.properties.documentEndpoint) - ); + return userContext.endpoint || userContext?.databaseAccount?.properties?.documentEndpoint; }; export async function getTokenFromAuthService(verb: string, resourceType: string, resourceId?: string): Promise { diff --git a/src/Common/EntityValue.tsx b/src/Common/EntityValue.tsx index 14a7af964..edea0fa35 100644 --- a/src/Common/EntityValue.tsx +++ b/src/Common/EntityValue.tsx @@ -1,4 +1,4 @@ -import { DatePicker, TextField } from "office-ui-fabric-react"; +import { DatePicker, TextField } from "@fluentui/react"; import React, { FunctionComponent } from "react"; export interface TableEntityProps { diff --git a/src/Common/MongoProxyClient.ts b/src/Common/MongoProxyClient.ts index ad22c9257..f9f5b356d 100644 --- a/src/Common/MongoProxyClient.ts +++ b/src/Common/MongoProxyClient.ts @@ -61,7 +61,7 @@ export function queryDocuments( query: string, continuationToken?: string ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const params = { db: databaseId, @@ -121,7 +121,7 @@ export function readDocument( collection: Collection, documentId: DocumentId ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const idComponents = documentId.self.split("/"); const path = idComponents.slice(0, 4).join("/"); @@ -167,7 +167,7 @@ export function createDocument( partitionKeyProperty: string, documentContent: unknown ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const params = { db: databaseId, @@ -206,7 +206,7 @@ export function updateDocument( documentId: DocumentId, documentContent: string ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const idComponents = documentId.self.split("/"); const path = idComponents.slice(0, 5).join("/"); @@ -247,7 +247,7 @@ export function updateDocument( } export function deleteDocument(databaseId: string, collection: Collection, documentId: DocumentId): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const resourceEndpoint = databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint; const idComponents = documentId.self.split("/"); const path = idComponents.slice(0, 5).join("/"); @@ -289,7 +289,7 @@ export function deleteDocument(databaseId: string, collection: Collection, docum export function createMongoCollectionWithProxy( params: DataModels.CreateCollectionParams ): Promise { - const databaseAccount = userContext.databaseAccount; + const { databaseAccount } = userContext; const shardKey: string = params.partitionKey?.paths[0]; const mongoParams: DataModels.MongoParameters = { resourceUrl: databaseAccount.properties.mongoEndpoint || databaseAccount.properties.documentEndpoint, diff --git a/src/Common/PortalNotifications.ts b/src/Common/PortalNotifications.ts index 4298b0b8f..774c37cad 100644 --- a/src/Common/PortalNotifications.ts +++ b/src/Common/PortalNotifications.ts @@ -1,8 +1,8 @@ +import { configContext, Platform } from "../ConfigContext"; import * as DataModels from "../Contracts/DataModels"; import * as ViewModels from "../Contracts/ViewModels"; -import { getAuthorizationHeader } from "../Utils/AuthorizationUtils"; import { userContext } from "../UserContext"; -import { configContext, Platform } from "../ConfigContext"; +import { getAuthorizationHeader } from "../Utils/AuthorizationUtils"; const notificationsPath = () => { switch (configContext.platform) { @@ -20,9 +20,7 @@ export const fetchPortalNotifications = async (): Promise => { - const defaultExperience = userContext.apiType; - switch (defaultExperience) { + const { apiType } = userContext; + switch (apiType) { case "SQL": return createSqlContainer(params); case "Mongo": @@ -75,7 +75,7 @@ const createCollectionWithARM = async (params: DataModels.CreateCollectionParams case "Tables": return createTable(params); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } }; diff --git a/src/Common/dataAccess/createDatabase.ts b/src/Common/dataAccess/createDatabase.ts index d6ea3b834..fc4172ce5 100644 --- a/src/Common/dataAccess/createDatabase.ts +++ b/src/Common/dataAccess/createDatabase.ts @@ -48,8 +48,9 @@ export async function createDatabase(params: DataModels.CreateDatabaseParams): P } async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): Promise { - const defaultExperience = userContext.apiType; - switch (defaultExperience) { + const { apiType } = userContext; + + switch (apiType) { case "SQL": return createSqlDatabase(params); case "Mongo": @@ -59,7 +60,7 @@ async function createDatabaseWithARM(params: DataModels.CreateDatabaseParams): P case "Gremlin": return createGremlineDatabase(params); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/deleteCollection.ts b/src/Common/dataAccess/deleteCollection.ts index b1d15ee4b..ec3dd7453 100644 --- a/src/Common/dataAccess/deleteCollection.ts +++ b/src/Common/dataAccess/deleteCollection.ts @@ -27,12 +27,10 @@ export async function deleteCollection(databaseId: string, collectionId: string) } function deleteCollectionWithARM(databaseId: string, collectionId: string): Promise { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": return deleteSqlContainer(subscriptionId, resourceGroup, accountName, databaseId, collectionId); case "Mongo": @@ -44,6 +42,6 @@ function deleteCollectionWithARM(databaseId: string, collectionId: string): Prom case "Tables": return deleteTable(subscriptionId, resourceGroup, accountName, collectionId); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/deleteDatabase.ts b/src/Common/dataAccess/deleteDatabase.ts index f30084fc3..4e7d3523c 100644 --- a/src/Common/dataAccess/deleteDatabase.ts +++ b/src/Common/dataAccess/deleteDatabase.ts @@ -30,12 +30,10 @@ export async function deleteDatabase(databaseId: string): Promise { } function deleteDatabaseWithARM(databaseId: string): Promise { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": return deleteSqlDatabase(subscriptionId, resourceGroup, accountName, databaseId); case "Mongo": @@ -45,6 +43,6 @@ function deleteDatabaseWithARM(databaseId: string): Promise { case "Gremlin": return deleteGremlinDatabase(subscriptionId, resourceGroup, accountName, databaseId); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/getCollectionDataUsageSize.ts b/src/Common/dataAccess/getCollectionDataUsageSize.ts index a86f22c25..bb53bc6ac 100644 --- a/src/Common/dataAccess/getCollectionDataUsageSize.ts +++ b/src/Common/dataAccess/getCollectionDataUsageSize.ts @@ -1,8 +1,8 @@ import { AuthType } from "../../AuthType"; -import { armRequest } from "../../Utils/arm/request"; import { configContext } from "../../ConfigContext"; -import { handleError } from "../ErrorHandlingUtils"; import { userContext } from "../../UserContext"; +import { armRequest } from "../../Utils/arm/request"; +import { handleError } from "../ErrorHandlingUtils"; interface TimeSeriesData { data: { @@ -45,9 +45,9 @@ export const getCollectionUsageSizeInKB = async (databaseName: string, container return undefined; } - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; + const filter = `DatabaseName eq '${databaseName}' and CollectionName eq '${containerName}'`; const metricNames = "DataUsage,IndexUsage"; const path = `/subscriptions/${subscriptionId}/resourceGroups/${resourceGroup}/providers/Microsoft.DocumentDB/databaseAccounts/${accountName}/providers/microsoft.insights/metrics`; diff --git a/src/Common/dataAccess/readCollectionOffer.ts b/src/Common/dataAccess/readCollectionOffer.ts index b83d37cb7..4b1e0a9e8 100644 --- a/src/Common/dataAccess/readCollectionOffer.ts +++ b/src/Common/dataAccess/readCollectionOffer.ts @@ -28,14 +28,12 @@ export const readCollectionOffer = async (params: ReadCollectionOfferParams): Pr }; const readCollectionOfferWithARM = async (databaseId: string, collectionId: string): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; let rpResponse; try { - switch (defaultExperience) { + switch (apiType) { case "SQL": rpResponse = await getSqlContainerThroughput( subscriptionId, @@ -76,7 +74,7 @@ const readCollectionOfferWithARM = async (databaseId: string, collectionId: stri rpResponse = await getTableThroughput(subscriptionId, resourceGroup, accountName, collectionId); break; default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } catch (error) { if (error.code !== "NotFound") { diff --git a/src/Common/dataAccess/readCollections.ts b/src/Common/dataAccess/readCollections.ts index f12b8074f..7161f598c 100644 --- a/src/Common/dataAccess/readCollections.ts +++ b/src/Common/dataAccess/readCollections.ts @@ -29,12 +29,11 @@ export async function readCollections(databaseId: string): Promise { let rpResponse; - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; - switch (defaultExperience) { + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; + + switch (apiType) { case "SQL": rpResponse = await listSqlContainers(subscriptionId, resourceGroup, accountName, databaseId); break; @@ -51,7 +50,7 @@ async function readCollectionsWithARM(databaseId: string): Promise collection.properties?.resource as DataModels.Collection); diff --git a/src/Common/dataAccess/readDatabaseOffer.ts b/src/Common/dataAccess/readDatabaseOffer.ts index 17cc80afd..b26976a64 100644 --- a/src/Common/dataAccess/readDatabaseOffer.ts +++ b/src/Common/dataAccess/readDatabaseOffer.ts @@ -27,14 +27,12 @@ export const readDatabaseOffer = async (params: ReadDatabaseOfferParams): Promis }; const readDatabaseOfferWithARM = async (databaseId: string): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; let rpResponse; try { - switch (defaultExperience) { + switch (apiType) { case "SQL": rpResponse = await getSqlDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId); break; @@ -48,7 +46,7 @@ const readDatabaseOfferWithARM = async (databaseId: string): Promise => { rpResponse = await getGremlinDatabaseThroughput(subscriptionId, resourceGroup, accountName, databaseId); break; default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } catch (error) { if (error.code !== "NotFound") { diff --git a/src/Common/dataAccess/readDatabases.ts b/src/Common/dataAccess/readDatabases.ts index 1026c0654..079c92269 100644 --- a/src/Common/dataAccess/readDatabases.ts +++ b/src/Common/dataAccess/readDatabases.ts @@ -29,12 +29,10 @@ export async function readDatabases(): Promise { async function readDatabasesWithARM(): Promise { let rpResponse; - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": rpResponse = await listSqlDatabases(subscriptionId, resourceGroup, accountName); break; @@ -48,7 +46,7 @@ async function readDatabasesWithARM(): Promise { rpResponse = await listGremlinDatabases(subscriptionId, resourceGroup, accountName); break; default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } return rpResponse?.value?.map((database) => database.properties?.resource as DataModels.Database); diff --git a/src/Common/dataAccess/readMongoDBCollection.tsx b/src/Common/dataAccess/readMongoDBCollection.tsx index 240e81315..e7ae32c79 100644 --- a/src/Common/dataAccess/readMongoDBCollection.tsx +++ b/src/Common/dataAccess/readMongoDBCollection.tsx @@ -1,9 +1,9 @@ +import { AuthType } from "../../AuthType"; import { userContext } from "../../UserContext"; import { getMongoDBCollection } from "../../Utils/arm/generatedClients/2020-04-01/mongoDBResources"; import { MongoDBCollectionResource } from "../../Utils/arm/generatedClients/2020-04-01/types"; import { logConsoleProgress } from "../../Utils/NotificationConsoleUtils"; import { handleError } from "../ErrorHandlingUtils"; -import { AuthType } from "../../AuthType"; export async function readMongoDBCollectionThroughRP( databaseId: string, @@ -13,9 +13,9 @@ export async function readMongoDBCollectionThroughRP( return undefined; } let collection: MongoDBCollectionResource; - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; const clearMessage = logConsoleProgress(`Reading container ${collectionId}`); try { diff --git a/src/Common/dataAccess/readUserDefinedFunctions.ts b/src/Common/dataAccess/readUserDefinedFunctions.ts index f1a0f52c5..813ff95c5 100644 --- a/src/Common/dataAccess/readUserDefinedFunctions.ts +++ b/src/Common/dataAccess/readUserDefinedFunctions.ts @@ -11,12 +11,13 @@ export async function readUserDefinedFunctions( collectionId: string ): Promise<(UserDefinedFunctionDefinition & Resource)[]> { const clearMessage = logConsoleProgress(`Querying user defined functions for container ${collectionId}`); + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const rpResponse = await listSqlUserDefinedFunctions( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId ); diff --git a/src/Common/dataAccess/updateCollection.ts b/src/Common/dataAccess/updateCollection.ts index f3b9d5002..2d022bbe9 100644 --- a/src/Common/dataAccess/updateCollection.ts +++ b/src/Common/dataAccess/updateCollection.ts @@ -63,12 +63,10 @@ async function updateCollectionWithARM( collectionId: string, newCollection: Partial ): Promise { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; - const defaultExperience = userContext.apiType; + const { subscriptionId, resourceGroup, apiType, databaseAccount } = userContext; + const accountName = databaseAccount.name; - switch (defaultExperience) { + switch (apiType) { case "SQL": return updateSqlContainer(databaseId, collectionId, subscriptionId, resourceGroup, accountName, newCollection); case "Cassandra": @@ -87,7 +85,7 @@ async function updateCollectionWithARM( newCollection ); default: - throw new Error(`Unsupported default experience type: ${defaultExperience}`); + throw new Error(`Unsupported default experience type: ${apiType}`); } } diff --git a/src/Common/dataAccess/updateOffer.ts b/src/Common/dataAccess/updateOffer.ts index 0050f3648..7f132d729 100644 --- a/src/Common/dataAccess/updateOffer.ts +++ b/src/Common/dataAccess/updateOffer.ts @@ -144,9 +144,8 @@ const updateDatabaseOfferWithARM = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateSqlContainerToAutoscale( @@ -178,9 +177,8 @@ const updateSqlContainerOffer = async (params: UpdateOfferParams): Promise }; const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateMongoDBCollectionToAutoscale( @@ -212,9 +210,8 @@ const updateMongoCollectionOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateCassandraTableToAutoscale( @@ -246,9 +243,8 @@ const updateCassandraTableOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateGremlinGraphToAutoscale( @@ -280,9 +276,8 @@ const updateGremlinGraphOffer = async (params: UpdateOfferParams): Promise }; const updateTableOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateTableToAutoscale(subscriptionId, resourceGroup, accountName, params.collectionId); @@ -295,9 +290,8 @@ const updateTableOffer = async (params: UpdateOfferParams): Promise => { }; const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateSqlDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); @@ -310,9 +304,8 @@ const updateSqlDatabaseOffer = async (params: UpdateOfferParams): Promise }; const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateMongoDBDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); @@ -325,9 +318,8 @@ const updateMongoDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateCassandraKeyspaceToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); @@ -340,9 +332,8 @@ const updateCassandraKeyspaceOffer = async (params: UpdateOfferParams): Promise< }; const updateGremlinDatabaseOffer = async (params: UpdateOfferParams): Promise => { - const subscriptionId = userContext.subscriptionId; - const resourceGroup = userContext.resourceGroup; - const accountName = userContext.databaseAccount.name; + const { subscriptionId, resourceGroup, databaseAccount } = userContext; + const accountName = databaseAccount.name; if (params.migrateToAutoPilot) { await migrateGremlinDatabaseToAutoscale(subscriptionId, resourceGroup, accountName, params.databaseId); diff --git a/src/Common/dataAccess/updateStoredProcedure.ts b/src/Common/dataAccess/updateStoredProcedure.ts index 9889ac519..dd6d86f66 100644 --- a/src/Common/dataAccess/updateStoredProcedure.ts +++ b/src/Common/dataAccess/updateStoredProcedure.ts @@ -20,11 +20,13 @@ export async function updateStoredProcedure( ): Promise { const clearMessage = logConsoleProgress(`Updating stored procedure ${storedProcedure.id}`); try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; + + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const getResponse = await getSqlStoredProcedure( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, storedProcedure.id @@ -38,9 +40,9 @@ export async function updateStoredProcedure( }, }; const rpResponse = await createUpdateSqlStoredProcedure( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, storedProcedure.id, diff --git a/src/Common/dataAccess/updateTrigger.ts b/src/Common/dataAccess/updateTrigger.ts index f4898052b..d43463738 100644 --- a/src/Common/dataAccess/updateTrigger.ts +++ b/src/Common/dataAccess/updateTrigger.ts @@ -16,12 +16,13 @@ export async function updateTrigger( trigger: TriggerDefinition ): Promise { const clearMessage = logConsoleProgress(`Updating trigger ${trigger.id}`); + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const getResponse = await getSqlTrigger( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, trigger.id @@ -35,9 +36,9 @@ export async function updateTrigger( }, }; const rpResponse = await createUpdateSqlTrigger( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, trigger.id, diff --git a/src/Common/dataAccess/updateUserDefinedFunction.ts b/src/Common/dataAccess/updateUserDefinedFunction.ts index 1d50951d6..3b9449915 100644 --- a/src/Common/dataAccess/updateUserDefinedFunction.ts +++ b/src/Common/dataAccess/updateUserDefinedFunction.ts @@ -19,12 +19,13 @@ export async function updateUserDefinedFunction( userDefinedFunction: UserDefinedFunctionDefinition ): Promise { const clearMessage = logConsoleProgress(`Updating user defined function ${userDefinedFunction.id}`); + const { authType, useSDKOperations, apiType, subscriptionId, resourceGroup, databaseAccount } = userContext; try { - if (userContext.authType === AuthType.AAD && !userContext.useSDKOperations && userContext.apiType === "SQL") { + if (authType === AuthType.AAD && !useSDKOperations && apiType === "SQL") { const getResponse = await getSqlUserDefinedFunction( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, userDefinedFunction.id @@ -38,9 +39,9 @@ export async function updateUserDefinedFunction( }, }; const rpResponse = await createUpdateSqlUserDefinedFunction( - userContext.subscriptionId, - userContext.resourceGroup, - userContext.databaseAccount.name, + subscriptionId, + resourceGroup, + databaseAccount.name, databaseId, collectionId, userDefinedFunction.id, diff --git a/src/Contracts/DataModels.ts b/src/Contracts/DataModels.ts index 4e3085b45..aece6a04a 100644 --- a/src/Contracts/DataModels.ts +++ b/src/Contracts/DataModels.ts @@ -4,7 +4,6 @@ export interface DatabaseAccount { location: string; type: string; kind: string; - tags: any; properties: DatabaseAccountExtendedProperties; } diff --git a/src/Explorer/Controls/Arcadia/ArcadiaMenuPicker.tsx b/src/Explorer/Controls/Arcadia/ArcadiaMenuPicker.tsx index ba713ca35..04de9a716 100644 --- a/src/Explorer/Controls/Arcadia/ArcadiaMenuPicker.tsx +++ b/src/Explorer/Controls/Arcadia/ArcadiaMenuPicker.tsx @@ -1,9 +1,8 @@ +import { DefaultButton, IButtonStyles, IContextualMenuItem, IContextualMenuProps } from "@fluentui/react"; import * as React from "react"; -import { ArcadiaWorkspace, SparkPool } from "../../../Contracts/DataModels"; -import { DefaultButton, IButtonStyles } from "office-ui-fabric-react/lib/Button"; -import { IContextualMenuItem, IContextualMenuProps } from "office-ui-fabric-react/lib/ContextualMenu"; -import * as Logger from "../../../Common/Logger"; import { getErrorMessage } from "../../../Common/ErrorHandlingUtils"; +import * as Logger from "../../../Common/Logger"; +import { ArcadiaWorkspace, SparkPool } from "../../../Contracts/DataModels"; export interface ArcadiaMenuPickerProps { selectText?: string; diff --git a/src/Explorer/Controls/CollapsiblePanel/CollapsibleSectionComponent.tsx b/src/Explorer/Controls/CollapsiblePanel/CollapsibleSectionComponent.tsx index 134fcc7c3..d662db58b 100644 --- a/src/Explorer/Controls/CollapsiblePanel/CollapsibleSectionComponent.tsx +++ b/src/Explorer/Controls/CollapsiblePanel/CollapsibleSectionComponent.tsx @@ -1,4 +1,4 @@ -import { Icon, Label, Stack } from "office-ui-fabric-react"; +import { Icon, Label, Stack } from "@fluentui/react"; import * as React from "react"; import { accordionStackTokens } from "../Settings/SettingsRenderUtils"; diff --git a/src/Explorer/Controls/Dialog.tsx b/src/Explorer/Controls/Dialog.tsx index ffb19b31d..779cdb049 100644 --- a/src/Explorer/Controls/Dialog.tsx +++ b/src/Explorer/Controls/Dialog.tsx @@ -1,14 +1,20 @@ import { ChoiceGroup, + DefaultButton, + Dialog as FluentDialog, + DialogFooter, + DialogType, FontIcon, + IButtonProps, IChoiceGroupProps, + IDialogProps, IProgressIndicatorProps, + ITextFieldProps, + Link, + PrimaryButton, ProgressIndicator, -} from "office-ui-fabric-react"; -import { DefaultButton, IButtonProps, PrimaryButton } from "office-ui-fabric-react/lib/Button"; -import { Dialog as FluentDialog, DialogFooter, DialogType, IDialogProps } from "office-ui-fabric-react/lib/Dialog"; -import { Link } from "office-ui-fabric-react/lib/Link"; -import { ITextFieldProps, TextField } from "office-ui-fabric-react/lib/TextField"; + TextField, +} from "@fluentui/react"; import React, { FunctionComponent } from "react"; export interface TextFieldProps extends ITextFieldProps { diff --git a/src/Explorer/Controls/Directory/DefaultDirectoryDropdownComponent.tsx b/src/Explorer/Controls/Directory/DefaultDirectoryDropdownComponent.tsx index 0511efdd4..1763a24b3 100644 --- a/src/Explorer/Controls/Directory/DefaultDirectoryDropdownComponent.tsx +++ b/src/Explorer/Controls/Directory/DefaultDirectoryDropdownComponent.tsx @@ -2,9 +2,9 @@ * React component for Switch Directory */ -import _ from "underscore"; +import { Dropdown, IDropdownOption, IDropdownProps } from "@fluentui/react"; import * as React from "react"; -import { Dropdown, IDropdownOption, IDropdownProps } from "office-ui-fabric-react/lib/Dropdown"; +import _ from "underscore"; import { Tenant } from "../../../Contracts/DataModels"; export interface DefaultDirectoryDropdownProps { diff --git a/src/Explorer/Controls/Directory/DirectoryListComponent.tsx b/src/Explorer/Controls/Directory/DirectoryListComponent.tsx index d7356d541..03c4ae9e2 100644 --- a/src/Explorer/Controls/Directory/DirectoryListComponent.tsx +++ b/src/Explorer/Controls/Directory/DirectoryListComponent.tsx @@ -1,11 +1,15 @@ -import _ from "underscore"; +import { + DefaultButton, + IButtonProps, + ITextFieldProps, + List, + ScrollablePane, + Sticky, + StickyPositionType, + TextField, +} from "@fluentui/react"; import * as React from "react"; - -import { DefaultButton, IButtonProps } from "office-ui-fabric-react/lib/Button"; -import { List } from "office-ui-fabric-react/lib/List"; -import { ScrollablePane } from "office-ui-fabric-react/lib/ScrollablePane"; -import { Sticky, StickyPositionType } from "office-ui-fabric-react/lib/Sticky"; -import { TextField, ITextFieldProps } from "office-ui-fabric-react/lib/TextField"; +import _ from "underscore"; import { Tenant } from "../../../Contracts/DataModels"; export interface DirectoryListProps { diff --git a/src/Explorer/Controls/Directory/__snapshots__/DefaultDirectoryDropdownComponent.test.tsx.snap b/src/Explorer/Controls/Directory/__snapshots__/DefaultDirectoryDropdownComponent.test.tsx.snap index ef5da945d..31ae98d55 100644 --- a/src/Explorer/Controls/Directory/__snapshots__/DefaultDirectoryDropdownComponent.test.tsx.snap +++ b/src/Explorer/Controls/Directory/__snapshots__/DefaultDirectoryDropdownComponent.test.tsx.snap @@ -1,7 +1,7 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`test render renders with directories and default 1`] = ` -
`; diff --git a/src/Explorer/Controls/Settings/__snapshots__/SettingsRenderUtils.test.tsx.snap b/src/Explorer/Controls/Settings/__snapshots__/SettingsRenderUtils.test.tsx.snap index 2f4c53dd3..03060f15b 100644 --- a/src/Explorer/Controls/Settings/__snapshots__/SettingsRenderUtils.test.tsx.snap +++ b/src/Explorer/Controls/Settings/__snapshots__/SettingsRenderUtils.test.tsx.snap @@ -338,7 +338,7 @@ exports[`SettingsUtils functions render 1`] = ` are only used for sorting query results. If you need to add a compound index, you can create one using the Mongo shell. - @@ -350,7 +350,7 @@ exports[`SettingsUtils functions render 1`] = ` azure portal. - + - - Error: label, truelabel and falselabel are required for boolean input 'throughput3' - +
@@ -282,7 +271,7 @@ exports[`SmartUiComponent disable all inputs 1`] = ` label="Database" /> - - - Error: label, truelabel and falselabel are required for boolean input 'throughput3' - +
@@ -604,7 +581,7 @@ exports[`SmartUiComponent should render and honor input's hidden, disabled state label="Database" /> - = (props: CostEstimateTextProps) => { const { requestUnits, isAutoscale } = props; - const databaseAccount = userContext.databaseAccount; - if (!databaseAccount || !databaseAccount.properties) { + const { databaseAccount } = userContext; + if (!databaseAccount?.properties) { return <>; } diff --git a/src/Explorer/Controls/TreeComponent/TreeComponent.tsx b/src/Explorer/Controls/TreeComponent/TreeComponent.tsx index 23cb08fcc..dd7127daa 100644 --- a/src/Explorer/Controls/TreeComponent/TreeComponent.tsx +++ b/src/Explorer/Controls/TreeComponent/TreeComponent.tsx @@ -5,21 +5,21 @@ * - context menu */ -import * as React from "react"; -import * as Constants from "../../../Common/Constants"; -import AnimateHeight from "react-animate-height"; -import { IconButton, IButtonStyles } from "office-ui-fabric-react/lib/Button"; import { DirectionalHint, + IButtonStyles, + IconButton, IContextualMenuItemProps, IContextualMenuProps, -} from "office-ui-fabric-react/lib/ContextualMenu"; - +} from "@fluentui/react"; +import * as React from "react"; +import AnimateHeight from "react-animate-height"; +import LoadingIndicator_3Squares from "../../../../images/LoadingIndicator_3Squares.gif"; import TriangleDownIcon from "../../../../images/Triangle-down.svg"; import TriangleRightIcon from "../../../../images/Triangle-right.svg"; -import LoadingIndicator_3Squares from "../../../../images/LoadingIndicator_3Squares.gif"; -import * as TelemetryProcessor from "../../../Shared/Telemetry/TelemetryProcessor"; +import * as Constants from "../../../Common/Constants"; import { Action, ActionModifiers } from "../../../Shared/Telemetry/TelemetryConstants"; +import * as TelemetryProcessor from "../../../Shared/Telemetry/TelemetryProcessor"; export interface TreeNodeMenuItem { label: string; diff --git a/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts b/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts index fdab3a30d..75d059dc3 100644 --- a/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts +++ b/src/Explorer/DataSamples/ContainerSampleGenerator.test.ts @@ -79,7 +79,6 @@ describe("ContainerSampleGenerator", () => { location: "foo", type: "foo", kind: "foo", - tags: [], properties: { documentEndpoint: "bar", gremlinEndpoint: "foo", diff --git a/src/Explorer/DataSamples/ContainerSampleGenerator.ts b/src/Explorer/DataSamples/ContainerSampleGenerator.ts index 7d6b42453..dd9a4adb9 100644 --- a/src/Explorer/DataSamples/ContainerSampleGenerator.ts +++ b/src/Explorer/DataSamples/ContainerSampleGenerator.ts @@ -80,7 +80,7 @@ export class ContainerSampleGenerator { if (!queries || queries.length < 1) { return; } - const account = userContext.databaseAccount; + const { databaseAccount: account } = userContext; const databaseId = collection.databaseId; const gremlinClient = new GremlinClient(); gremlinClient.initialize({ diff --git a/src/Explorer/Explorer.tsx b/src/Explorer/Explorer.tsx index b7a77efce..47af1ae40 100644 --- a/src/Explorer/Explorer.tsx +++ b/src/Explorer/Explorer.tsx @@ -1,5 +1,5 @@ import * as ko from "knockout"; -import { IChoiceGroupProps } from "office-ui-fabric-react"; +import { IChoiceGroupProps } from "@fluentui/react"; import * as path from "path"; import Q from "q"; import React from "react"; @@ -12,7 +12,7 @@ import { readCollection } from "../Common/dataAccess/readCollection"; import { readDatabases } from "../Common/dataAccess/readDatabases"; import { getErrorMessage, getErrorStack, handleError } from "../Common/ErrorHandlingUtils"; import * as Logger from "../Common/Logger"; -import { sendCachedDataMessage, sendMessage } from "../Common/MessageHandler"; +import { sendCachedDataMessage } from "../Common/MessageHandler"; import { QueriesClient } from "../Common/QueriesClient"; import { Splitter, SplitterBounds, SplitterDirection } from "../Common/Splitter"; import { configContext, Platform } from "../ConfigContext"; @@ -31,7 +31,7 @@ import { ExplorerSettings } from "../Shared/ExplorerSettings"; import { Action, ActionModifiers } from "../Shared/Telemetry/TelemetryConstants"; import * as TelemetryProcessor from "../Shared/Telemetry/TelemetryProcessor"; import { ArcadiaResourceManager } from "../SparkClusterManager/ArcadiaResourceManager"; -import { userContext } from "../UserContext"; +import { updateUserContext, userContext } from "../UserContext"; import { getCollectionName } from "../Utils/APITypeUtils"; import { decryptJWTToken, getAuthorizationHeader } from "../Utils/AuthorizationUtils"; import { stringToBlob } from "../Utils/BlobUtils"; @@ -109,18 +109,8 @@ export default class Explorer { public refreshTreeTitle: ko.Observable; public collapsedResourceTreeWidth: number = ExplorerMetrics.CollapsedResourceTreeWidth; - /** - * @deprecated - * Use userContext.databaseAccount instead - * */ - public databaseAccount: ko.Observable; public collectionCreationDefaults: ViewModels.CollectionCreationDefaults = SharedConstants.CollectionCreationDefaults; public isFixedCollectionWithSharedThroughputSupported: ko.Computed; - /** - * @deprecated - * Compare a string with userContext.apiType instead: userContext.apiType === "Mongo" - * */ - public isEnableMongoCapabilityPresent: ko.Computed; public isServerlessEnabled: ko.Computed; public isAccountReady: ko.Observable; public canSaveQueries: ko.Computed; @@ -171,7 +161,6 @@ export default class Explorer { // features public isPublishNotebookPaneEnabled: ko.Observable; public isHostedDataExplorerEnabled: ko.Computed; - public isRightPanelV2Enabled: ko.Computed; public isMongoIndexingEnabled: ko.Observable; public canExceedMaximumValue: ko.Computed; public isAutoscaleDefaultEnabled: ko.Observable; @@ -231,7 +220,6 @@ export default class Explorer { this.deleteDatabaseText = ko.observable("Delete Database"); this.refreshTreeTitle = ko.observable("Refresh collections"); - this.databaseAccount = ko.observable(); this.isAccountReady = ko.observable(false); this._isInitializingNotebooks = false; this.arcadiaToken = ko.observable(); @@ -266,7 +254,7 @@ export default class Explorer { async () => { this.isNotebookEnabled( userContext.authType !== AuthType.ResourceToken && - ((await this._containsDefaultNotebookWorkspace(this.databaseAccount())) || + ((await this._containsDefaultNotebookWorkspace(userContext.databaseAccount)) || userContext.features.enableNotebooks) ); TelemetryProcessor.trace(Action.NotebookEnabled, ActionModifiers.Mark, { @@ -275,7 +263,7 @@ export default class Explorer { }); if (this.isNotebookEnabled()) { - await this.initNotebooks(this.databaseAccount()); + await this.initNotebooks(userContext.databaseAccount); const workspaces = await this._getArcadiaWorkspaces(); this.arcadiaWorkspaces(workspaces); } else if (this.notebookToImport) { @@ -377,43 +365,26 @@ export default class Explorer { return true; } - if (this.databaseAccount && !this.databaseAccount()) { + if (!userContext.databaseAccount) { return false; } - return this.isEnableMongoCapabilityPresent(); + return userContext.apiType === "Mongo"; }); this.isServerlessEnabled = ko.computed( () => - this.databaseAccount && - this.databaseAccount()?.properties?.capabilities?.find( + userContext.databaseAccount?.properties?.capabilities?.find( (item) => item.name === Constants.CapabilityNames.EnableServerless ) !== undefined ); - this.isEnableMongoCapabilityPresent = ko.computed(() => { - const capabilities = this.databaseAccount && this.databaseAccount()?.properties?.capabilities; - if (!capabilities) { - return false; - } - - for (let i = 0; i < capabilities.length; i++) { - if (typeof capabilities[i] === "object" && capabilities[i].name === Constants.CapabilityNames.EnableMongo) { - return true; - } - } - - return false; - }); - this.isHostedDataExplorerEnabled = ko.computed( () => configContext.platform === Platform.Portal && !this.isRunningOnNationalCloud() && userContext.apiType !== "Gremlin" ); - this.isRightPanelV2Enabled = ko.computed(() => userContext.features.enableRightPanelV2); this.selectedDatabaseId = ko.computed(() => { const selectedNode = this.selectedNode(); if (!selectedNode) { @@ -672,11 +643,11 @@ export default class Explorer { this.isSynapseLinkUpdating(true); this._closeSynapseLinkModalDialog(); - const resourceProviderClient = new ResourceProviderClientFactory().getOrCreate(this.databaseAccount().id); + const resourceProviderClient = new ResourceProviderClientFactory().getOrCreate(userContext.databaseAccount.id); try { const databaseAccount: DataModels.DatabaseAccount = await resourceProviderClient.patchAsync( - this.databaseAccount().id, + userContext.databaseAccount.id, "2019-12-12", { properties: { @@ -687,7 +658,7 @@ export default class Explorer { clearInProgressMessage(); logConsoleInfo("Enabled Azure Synapse Link for this account"); TelemetryProcessor.traceSuccess(Action.EnableAzureSynapseLink, {}, startTime); - this.databaseAccount(databaseAccount); + updateUserContext({ databaseAccount }); } catch (error) { clearInProgressMessage(); logConsoleError(`Enabling Azure Synapse Link for this account failed. ${getErrorMessage(error)}`); @@ -736,10 +707,6 @@ export default class Explorer { this.setIsNotificationConsoleExpanded(true); } - public collapseConsole(): void { - this.setIsNotificationConsoleExpanded(false); - } - public toggleLeftPaneExpanded() { this.isLeftPaneExpanded(!this.isLeftPaneExpanded()); @@ -1010,14 +977,14 @@ export default class Explorer { } private async ensureNotebookWorkspaceRunning() { - if (!this.databaseAccount()) { + if (!userContext.databaseAccount) { return; } let clearMessage; try { const notebookWorkspace = await this.notebookWorkspaceManager.getNotebookWorkspaceAsync( - this.databaseAccount().id, + userContext.databaseAccount.id, "default" ); if ( @@ -1027,7 +994,7 @@ export default class Explorer { notebookWorkspace.properties.status.toLowerCase() === "stopped" ) { clearMessage = NotificationConsoleUtils.logConsoleProgress("Initializing notebook workspace"); - await this.notebookWorkspaceManager.startNotebookWorkspaceAsync(this.databaseAccount().id, "default"); + await this.notebookWorkspaceManager.startNotebookWorkspaceAsync(userContext.databaseAccount.id, "default"); } } catch (error) { handleError(error, "Explorer/ensureNotebookWorkspaceRunning", "Failed to initialize notebook workspace"); @@ -1112,21 +1079,10 @@ export default class Explorer { if (process.env.NODE_ENV === "development") { sessionStorage.setItem("portalDataExplorerInitMessage", JSON.stringify(inputs)); } - - const databaseAccount = inputs.databaseAccount || null; if (inputs.defaultCollectionThroughput) { this.collectionCreationDefaults = inputs.defaultCollectionThroughput; } - this.databaseAccount(databaseAccount); this.setFeatureFlagsFromFlights(inputs.flights); - TelemetryProcessor.traceSuccess( - Action.LoadDatabaseAccount, - { - dataExplorerArea: Constants.Areas.ResourceTree, - }, - inputs.loadDatabaseAccountTimestamp - ); - this.isAccountReady(true); } } @@ -1165,38 +1121,6 @@ export default class Explorer { this.commandBarComponentAdapter.onUpdateTabsButtons(buttons); } - public signInAad = () => { - TelemetryProcessor.trace(Action.SignInAad, undefined, { area: "Explorer" }); - sendMessage({ - type: MessageTypes.AadSignIn, - }); - }; - - public onSwitchToConnectionString = () => { - $("#connectWithAad").hide(); - $("#connectWithConnectionString").show(); - }; - - public clickHostedAccountSwitch = () => { - sendMessage({ - type: MessageTypes.UpdateAccountSwitch, - click: true, - }); - }; - - public clickHostedDirectorySwitch = () => { - sendMessage({ - type: MessageTypes.UpdateDirectoryControl, - click: true, - }); - }; - - public refreshDatabaseAccount = () => { - sendMessage({ - type: MessageTypes.RefreshDatabaseAccount, - }); - }; - private refreshAndExpandNewDatabases(newDatabases: ViewModels.Database[]): Q.Promise { // we reload collections for all databases so the resource tree reflects any collection-level changes // i.e addition of stored procedures, etc. @@ -1616,7 +1540,7 @@ export default class Explorer { } private async _refreshNotebooksEnabledStateForAccount(): Promise { - const authType = userContext.authType; + const { databaseAccount, authType } = userContext; if ( authType === AuthType.EncryptedToken || authType === AuthType.ResourceToken || @@ -1626,8 +1550,9 @@ export default class Explorer { return; } - const databaseAccount = this.databaseAccount(); - const databaseAccountLocation = databaseAccount && databaseAccount.location.toLowerCase(); + const firstWriteLocation = + databaseAccount?.properties?.writeLocations && + databaseAccount?.properties?.writeLocations[0]?.locationName.toLowerCase(); const disallowedLocationsUri = `${configContext.BACKEND_ENDPOINT}/api/disallowedLocations`; const authorizationHeader = getAuthorizationHeader(); try { @@ -1652,9 +1577,9 @@ export default class Explorer { this.isNotebooksEnabledForAccount(true); return; } - const isAccountInAllowedLocation = !disallowedLocations.some( - (disallowedLocation) => disallowedLocation === databaseAccountLocation - ); + + // firstWriteLocation should not be disallowed + const isAccountInAllowedLocation = firstWriteLocation && disallowedLocations.indexOf(firstWriteLocation) === -1; this.isNotebooksEnabledForAccount(isAccountInAllowedLocation); } catch (error) { Logger.logError(getErrorMessage(error), "Explorer/isNotebooksEnabledForAccount"); @@ -1663,9 +1588,8 @@ export default class Explorer { } public _refreshSparkEnabledStateForAccount = async (): Promise => { - const subscriptionId = userContext.subscriptionId; + const { subscriptionId, authType } = userContext; const armEndpoint = configContext.ARM_ENDPOINT; - const authType = userContext.authType; if (!subscriptionId || !armEndpoint || authType === AuthType.EncryptedToken) { // explorer is not aware of the database account yet this.isSparkEnabledForAccount(false); @@ -1692,9 +1616,8 @@ export default class Explorer { }; public _isAfecFeatureRegistered = async (featureName: string): Promise => { - const subscriptionId = userContext.subscriptionId; + const { subscriptionId, authType } = userContext; const armEndpoint = configContext.ARM_ENDPOINT; - const authType = userContext.authType; if (!featureName || !subscriptionId || !armEndpoint || authType === AuthType.EncryptedToken) { // explorer is not aware of the database account yet return false; @@ -2006,7 +1929,7 @@ export default class Explorer { } public async handleOpenFileAction(path: string): Promise { - if (this.isAccountReady() && !(await this._containsDefaultNotebookWorkspace(this.databaseAccount()))) { + if (this.isAccountReady() && !(await this._containsDefaultNotebookWorkspace(userContext.databaseAccount))) { this.closeAllPanes(); this._openSetupNotebooksPaneForQuickstart(); } diff --git a/src/Explorer/Graph/GraphExplorerComponent/LeftPaneComponent.tsx b/src/Explorer/Graph/GraphExplorerComponent/LeftPaneComponent.tsx index 42441a9a0..f6525e54d 100644 --- a/src/Explorer/Graph/GraphExplorerComponent/LeftPaneComponent.tsx +++ b/src/Explorer/Graph/GraphExplorerComponent/LeftPaneComponent.tsx @@ -1,5 +1,5 @@ +import { FocusZone } from "@fluentui/react"; import * as React from "react"; -import { FocusZone } from "office-ui-fabric-react/lib/FocusZone"; import { AccessibleElement } from "../../Controls/AccessibleElement/AccessibleElement"; export interface CaptionId { diff --git a/src/Explorer/Graph/NewVertexComponent/NewVertexComponent.tsx b/src/Explorer/Graph/NewVertexComponent/NewVertexComponent.tsx index 662dcba53..d3011155a 100644 --- a/src/Explorer/Graph/NewVertexComponent/NewVertexComponent.tsx +++ b/src/Explorer/Graph/NewVertexComponent/NewVertexComponent.tsx @@ -1,4 +1,4 @@ -import { Dropdown, IDropdownOption, Stack, TextField } from "office-ui-fabric-react"; +import { Dropdown, IDropdownOption, Stack, TextField } from "@fluentui/react"; import React, { FunctionComponent, useRef, useState } from "react"; import AddIcon from "../../../../images/Add-property.svg"; import DeleteIcon from "../../../../images/delete.svg"; diff --git a/src/Explorer/Menus/CommandBar/CommandBarComponentAdapter.tsx b/src/Explorer/Menus/CommandBar/CommandBarComponentAdapter.tsx index b45f5dc9d..520cdd372 100644 --- a/src/Explorer/Menus/CommandBar/CommandBarComponentAdapter.tsx +++ b/src/Explorer/Menus/CommandBar/CommandBarComponentAdapter.tsx @@ -3,12 +3,13 @@ * If the component signals a change through the callback passed in the properties, it must render the React component when appropriate * and update any knockout observables passed from the parent. */ +import { CommandBar, ICommandBarItemProps } from "@fluentui/react"; import * as ko from "knockout"; -import { CommandBar, ICommandBarItemProps } from "office-ui-fabric-react/lib/CommandBar"; import * as React from "react"; import { ReactAdapter } from "../../../Bindings/ReactBindingHandler"; import { StyleConstants } from "../../../Common/Constants"; import * as ViewModels from "../../../Contracts/ViewModels"; +import { userContext } from "../../../UserContext"; import { CommandButtonComponentProps } from "../../Controls/CommandButton/CommandButtonComponent"; import Explorer from "../../Explorer"; import * as CommandBarComponentButtonFactory from "./CommandBarComponentButtonFactory"; @@ -39,7 +40,7 @@ export class CommandBarComponentAdapter implements ReactAdapter { container.isResourceTokenCollectionNodeSelected, container.isHostedDataExplorerEnabled, container.isSynapseLinkUpdating, - container.databaseAccount, + userContext?.databaseAccount, this.isNotebookTabActive, container.isServerlessEnabled, ]; diff --git a/src/Explorer/Menus/CommandBar/CommandBarComponentButtonFactory.tsx b/src/Explorer/Menus/CommandBar/CommandBarComponentButtonFactory.tsx index 1fb77956e..8f0715988 100644 --- a/src/Explorer/Menus/CommandBar/CommandBarComponentButtonFactory.tsx +++ b/src/Explorer/Menus/CommandBar/CommandBarComponentButtonFactory.tsx @@ -239,21 +239,11 @@ function createOpenSynapseLinkDialogButton(container: Explorer): CommandButtonCo return undefined; } - if ( - container.databaseAccount && - container.databaseAccount() && - container.databaseAccount().properties && - container.databaseAccount().properties.enableAnalyticalStorage - ) { + if (userContext?.databaseAccount?.properties?.enableAnalyticalStorage) { return undefined; } - const capabilities = - (container.databaseAccount && - container.databaseAccount() && - container.databaseAccount().properties && - container.databaseAccount().properties.capabilities) || - []; + const capabilities = userContext?.databaseAccount?.properties?.capabilities || []; if (capabilities.some((capability) => capability.name === Constants.CapabilityNames.EnableStorageAnalytics)) { return undefined; } diff --git a/src/Explorer/Menus/CommandBar/CommandBarUtil.test.tsx b/src/Explorer/Menus/CommandBar/CommandBarUtil.test.tsx index 4a457b67c..3789ad6f1 100644 --- a/src/Explorer/Menus/CommandBar/CommandBarUtil.test.tsx +++ b/src/Explorer/Menus/CommandBar/CommandBarUtil.test.tsx @@ -1,6 +1,6 @@ -import * as CommandBarUtil from "./CommandBarUtil"; -import { ICommandBarItemProps } from "office-ui-fabric-react/lib/CommandBar"; +import { ICommandBarItemProps } from "@fluentui/react"; import { CommandButtonComponentProps } from "../../Controls/CommandButton/CommandButtonComponent"; +import * as CommandBarUtil from "./CommandBarUtil"; describe("CommandBarUtil tests", () => { const createButton = (): CommandButtonComponentProps => { diff --git a/src/Explorer/Menus/CommandBar/CommandBarUtil.tsx b/src/Explorer/Menus/CommandBar/CommandBarUtil.tsx index 4314df9c4..dd7f01209 100644 --- a/src/Explorer/Menus/CommandBar/CommandBarUtil.tsx +++ b/src/Explorer/Menus/CommandBar/CommandBarUtil.tsx @@ -1,18 +1,22 @@ -import _ from "underscore"; -import * as React from "react"; +import { + Dropdown, + ICommandBarItemProps, + IComponentAsProps, + IconType, + IDropdownOption, + IDropdownStyles, +} from "@fluentui/react"; import { Observable } from "knockout"; -import { IconType } from "office-ui-fabric-react/lib/Icon"; -import { IComponentAsProps } from "office-ui-fabric-react/lib/Utilities"; -import { StyleConstants } from "../../../Common/Constants"; -import { ICommandBarItemProps } from "office-ui-fabric-react/lib/CommandBar"; -import { Dropdown, IDropdownStyles, IDropdownOption } from "office-ui-fabric-react/lib/Dropdown"; -import { CommandButtonComponentProps } from "../../Controls/CommandButton/CommandButtonComponent"; +import * as React from "react"; +import _ from "underscore"; import ChevronDownIcon from "../../../../images/Chevron_down.svg"; -import { ArcadiaMenuPicker } from "../../Controls/Arcadia/ArcadiaMenuPicker"; -import { MemoryTrackerComponent } from "./MemoryTrackerComponent"; +import { StyleConstants } from "../../../Common/Constants"; import { MemoryUsageInfo } from "../../../Contracts/DataModels"; -import * as TelemetryProcessor from "../../../Shared/Telemetry/TelemetryProcessor"; import { Action, ActionModifiers } from "../../../Shared/Telemetry/TelemetryConstants"; +import * as TelemetryProcessor from "../../../Shared/Telemetry/TelemetryProcessor"; +import { ArcadiaMenuPicker } from "../../Controls/Arcadia/ArcadiaMenuPicker"; +import { CommandButtonComponentProps } from "../../Controls/CommandButton/CommandButtonComponent"; +import { MemoryTrackerComponent } from "./MemoryTrackerComponent"; /** * Convert our NavbarButtonConfig to UI Fabric buttons diff --git a/src/Explorer/Menus/CommandBar/MemoryTrackerComponent.tsx b/src/Explorer/Menus/CommandBar/MemoryTrackerComponent.tsx index 420b481ea..4317fed4e 100644 --- a/src/Explorer/Menus/CommandBar/MemoryTrackerComponent.tsx +++ b/src/Explorer/Menus/CommandBar/MemoryTrackerComponent.tsx @@ -1,9 +1,7 @@ -import * as React from "react"; +import { ProgressIndicator, Spinner, SpinnerSize, Stack } from "@fluentui/react"; import { Observable, Subscription } from "knockout"; +import * as React from "react"; import { MemoryUsageInfo } from "../../../Contracts/DataModels"; -import { ProgressIndicator } from "office-ui-fabric-react/lib/ProgressIndicator"; -import { Spinner, SpinnerSize } from "office-ui-fabric-react/lib/Spinner"; -import { Stack } from "office-ui-fabric-react/lib/Stack"; interface MemoryTrackerProps { memoryUsageInfo: Observable; diff --git a/src/Explorer/Menus/NotificationConsole/NotificationConsoleComponent.tsx b/src/Explorer/Menus/NotificationConsole/NotificationConsoleComponent.tsx index 5e4c75179..f2c427c2b 100644 --- a/src/Explorer/Menus/NotificationConsole/NotificationConsoleComponent.tsx +++ b/src/Explorer/Menus/NotificationConsole/NotificationConsoleComponent.tsx @@ -2,7 +2,7 @@ * React component for control bar */ -import { Dropdown, IDropdownOption } from "office-ui-fabric-react"; +import { Dropdown, IDropdownOption } from "@fluentui/react"; import * as React from "react"; import AnimateHeight from "react-animate-height"; import LoaderIcon from "../../../../images/circular_loader_black_16x16.gif"; diff --git a/src/Explorer/Menus/NotificationConsole/__snapshots__/NotificationConsoleComponent.test.tsx.snap b/src/Explorer/Menus/NotificationConsole/__snapshots__/NotificationConsoleComponent.test.tsx.snap index b00632fdd..c28eb6008 100644 --- a/src/Explorer/Menus/NotificationConsole/__snapshots__/NotificationConsoleComponent.test.tsx.snap +++ b/src/Explorer/Menus/NotificationConsole/__snapshots__/NotificationConsoleComponent.test.tsx.snap @@ -111,7 +111,7 @@ exports[`NotificationConsoleComponent renders the console 1`] = `
- - { const explorer = window.dataExplorer; - if (!explorer || !explorer.databaseAccount() || !explorer.databaseAccount().id) { + const { databaseAccount } = userContext; + if (!databaseAccount?.id) { throw new Error("DataExplorer not initialized"); } const notebookWorkspaceManager = explorer.notebookWorkspaceManager; try { - await notebookWorkspaceManager.deleteNotebookWorkspaceAsync(explorer.databaseAccount().id, "default"); - await notebookWorkspaceManager.createNotebookWorkspaceAsync(explorer.databaseAccount().id, "default"); + await notebookWorkspaceManager.deleteNotebookWorkspaceAsync(databaseAccount?.id, "default"); + await notebookWorkspaceManager.createNotebookWorkspaceAsync(databaseAccount?.id, "default"); } catch (error) { Logger.logError(getErrorMessage(error), "NotebookContainerClient/recreateNotebookWorkspaceAsync"); return Promise.reject(error); diff --git a/src/Explorer/Notebook/NotebookManager.tsx b/src/Explorer/Notebook/NotebookManager.tsx index 53b3220c0..c97f14566 100644 --- a/src/Explorer/Notebook/NotebookManager.tsx +++ b/src/Explorer/Notebook/NotebookManager.tsx @@ -17,6 +17,7 @@ import { GitHubOAuthService } from "../../GitHub/GitHubOAuthService"; import { JunoClient } from "../../Juno/JunoClient"; import { Action, ActionModifiers } from "../../Shared/Telemetry/TelemetryConstants"; import * as TelemetryProcessor from "../../Shared/Telemetry/TelemetryProcessor"; +import { userContext } from "../../UserContext"; import { getFullName } from "../../Utils/UserUtils"; import Explorer from "../Explorer"; import { ContextualPaneBase } from "../Panes/ContextualPaneBase"; @@ -56,7 +57,7 @@ export default class NotebookManager { public initialize(params: NotebookManagerOptions): void { this.params = params; - this.junoClient = new JunoClient(this.params.container.databaseAccount); + this.junoClient = new JunoClient(); this.gitHubOAuthService = new GitHubOAuthService(this.junoClient); this.gitHubClient = new GitHubClient(this.onGitHubClientError); @@ -73,7 +74,7 @@ export default class NotebookManager { this.notebookClient = new NotebookContainerClient( this.params.container.notebookServerInfo, - () => this.params.container.initNotebooks(this.params.container.databaseAccount()), + () => this.params.container.initNotebooks(userContext?.databaseAccount), (update: MemoryUsageInfo) => this.params.container.memoryUsageInfo(update) ); diff --git a/src/Explorer/Notebook/NotebookRenderer/NotebookReadOnlyRenderer.tsx b/src/Explorer/Notebook/NotebookRenderer/NotebookReadOnlyRenderer.tsx index ceef02cbb..7fcdd2579 100644 --- a/src/Explorer/Notebook/NotebookRenderer/NotebookReadOnlyRenderer.tsx +++ b/src/Explorer/Notebook/NotebookRenderer/NotebookReadOnlyRenderer.tsx @@ -1,5 +1,5 @@ import { actions, ContentRef } from "@nteract/core"; -import { Cells, CodeCell, MarkdownCell, RawCell } from "@nteract/stateful-components"; +import { Cells, CodeCell, RawCell } from "@nteract/stateful-components"; import MonacoEditor from "@nteract/stateful-components/lib/inputs/connected-editors/monacoEditor"; import { PassedEditorProps } from "@nteract/stateful-components/lib/inputs/editor"; import Prompt, { PassedPromptProps } from "@nteract/stateful-components/lib/inputs/prompt"; @@ -11,6 +11,7 @@ import loadTransform from "../NotebookComponent/loadTransform"; import { AzureTheme } from "./AzureTheme"; import "./base.css"; import "./default.css"; +import MarkdownCell from "./markdown-cell"; import "./NotebookReadOnlyRenderer.less"; import SandboxOutputs from "./outputs/SandboxOutputs"; diff --git a/src/Explorer/Notebook/NotebookRenderer/PromptContent.tsx b/src/Explorer/Notebook/NotebookRenderer/PromptContent.tsx index b502d4c21..3e96b30b9 100644 --- a/src/Explorer/Notebook/NotebookRenderer/PromptContent.tsx +++ b/src/Explorer/Notebook/NotebookRenderer/PromptContent.tsx @@ -1,8 +1,7 @@ +import { IconButton, Spinner, SpinnerSize } from "@fluentui/react"; import * as React from "react"; -import { IconButton } from "office-ui-fabric-react/lib/Button"; -import { Spinner, SpinnerSize } from "office-ui-fabric-react/lib/Spinner"; -import "./Prompt.less"; import { PassedPromptProps } from "./Prompt"; +import "./Prompt.less"; export const promptContent = (props: PassedPromptProps): JSX.Element => { if (props.status === "busy") { diff --git a/src/Explorer/Notebook/NotebookRenderer/Toolbar.tsx b/src/Explorer/Notebook/NotebookRenderer/Toolbar.tsx index 8c4368b6e..3e9a3f41b 100644 --- a/src/Explorer/Notebook/NotebookRenderer/Toolbar.tsx +++ b/src/Explorer/Notebook/NotebookRenderer/Toolbar.tsx @@ -1,21 +1,15 @@ +import { ContextualMenuItemType, DirectionalHint, IconButton, IContextualMenuItem } from "@fluentui/react"; +import { CellId, CellType } from "@nteract/commutable"; +import { actions, AppState, DocumentRecordProps } from "@nteract/core"; +import * as selectors from "@nteract/selectors"; +import { CellToolbarContext } from "@nteract/stateful-components"; import { ContentRef } from "@nteract/types"; +import { RecordOf } from "immutable"; import * as React from "react"; import { connect } from "react-redux"; import { Dispatch } from "redux"; - -import { IconButton } from "office-ui-fabric-react/lib/Button"; -import { - DirectionalHint, - IContextualMenuItem, - ContextualMenuItemType, -} from "office-ui-fabric-react/lib/ContextualMenu"; -import { actions, AppState, DocumentRecordProps } from "@nteract/core"; -import { CellToolbarContext } from "@nteract/stateful-components"; -import { CellType, CellId } from "@nteract/commutable"; -import * as selectors from "@nteract/selectors"; -import { RecordOf } from "immutable"; -import * as cdbActions from "../NotebookComponent/actions"; import { Action, ActionModifiers } from "../../../Shared/Telemetry/TelemetryConstants"; +import * as cdbActions from "../NotebookComponent/actions"; export interface ComponentProps { contentRef: ContentRef; diff --git a/src/Explorer/Notebook/NotebookRenderer/outputs/SandboxOutputs.tsx b/src/Explorer/Notebook/NotebookRenderer/outputs/SandboxOutputs.tsx index 40f42fd35..a9cf76757 100644 --- a/src/Explorer/Notebook/NotebookRenderer/outputs/SandboxOutputs.tsx +++ b/src/Explorer/Notebook/NotebookRenderer/outputs/SandboxOutputs.tsx @@ -15,6 +15,8 @@ import { CellOutputViewerProps } from "../../../../CellOutputViewer/CellOutputVi interface ComponentProps { id: string; contentRef: ContentRef; + outputsContainerClassName?: string; + outputClassName?: string; } interface StateProps { @@ -59,8 +61,10 @@ export class SandboxOutputs extends React.PureComponent outputToJS(output)), onMetadataChange: this.props.onMetadataChange, }; diff --git a/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.less b/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.less index f98d9729a..1a077c600 100644 --- a/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.less +++ b/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.less @@ -1,10 +1,5 @@ -.shemaAnalyzerComponent { +.schemaAnalyzerComponent { width: 100%; height: 100%; overflow-y: auto; -} - -.schemaAnalyzerCard { - max-width: 4096px; - width: 100%; } \ No newline at end of file diff --git a/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.tsx b/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.tsx index cf53bf2db..063050b01 100644 --- a/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.tsx +++ b/src/Explorer/Notebook/SchemaAnalyzerComponent/SchemaAnalyzerComponent.tsx @@ -1,14 +1,12 @@ +import { FontIcon, PrimaryButton, Spinner, SpinnerSize, Stack, Text, TextField } from "@fluentui/react"; import { ImmutableOutput } from "@nteract/commutable"; import { actions, AppState, ContentRef, KernelRef, selectors } from "@nteract/core"; -import { KernelOutputError, Output, StreamText } from "@nteract/outputs"; -import TransformMedia from "@nteract/stateful-components/lib/outputs/transform-media"; -import { Card } from "@uifabric/react-cards"; import Immutable from "immutable"; -import { FontIcon, PrimaryButton, Spinner, SpinnerSize, Stack, Text, TextField } from "office-ui-fabric-react"; import * as React from "react"; import { connect } from "react-redux"; import { Dispatch } from "redux"; import loadTransform from "../NotebookComponent/loadTransform"; +import SandboxOutputs from "../NotebookRenderer/outputs/SandboxOutputs"; import "./SchemaAnalyzerComponent.less"; interface SchemaAnalyzerComponentPureProps { @@ -91,70 +89,66 @@ export class SchemaAnalyzerComponent extends React.Component< const showSchemaOutput = isKernelIdle && outputs.size > 0; return ( - - - - - - - - - - - - - {showSchemaOutput ? ( - outputs.map((output, index) => ( - - - - - - - - - - - )) - ) : this.state.isFiltering ? ( - - {isKernelBusy && } +
+ + + + + + + + + + - ) : ( - <> + + {showSchemaOutput ? ( + + ) : this.state.isFiltering ? ( - + {isKernelBusy && } - - Explore your schema - - - - Quickly visualize your schema to infer the frequency, types and ranges of fields in your data set. - - - - - - {isKernelBusy && } - - )} - + ) : ( + <> + + + + + Explore your schema + + + + Quickly visualize your schema to infer the frequency, types and ranges of fields in your data set. + + + + + + {isKernelBusy && } + + )} + +
); } } diff --git a/src/Explorer/OpenFullScreen.tsx b/src/Explorer/OpenFullScreen.tsx index 711706cf7..b36feeb48 100644 --- a/src/Explorer/OpenFullScreen.tsx +++ b/src/Explorer/OpenFullScreen.tsx @@ -1,8 +1,7 @@ -import { Spinner, Stack, Text, TextField } from "office-ui-fabric-react"; -import { DefaultButton, PrimaryButton } from "office-ui-fabric-react/lib/Button"; +import { DefaultButton, PrimaryButton, Spinner, Stack, Text, TextField } from "@fluentui/react"; +import copyToClipboard from "clipboard-copy"; import * as React from "react"; import { useFullScreenURLs } from "../hooks/useFullScreenURLs"; -import copyToClipboard from "clipboard-copy"; export const OpenFullScreen: React.FunctionComponent = () => { const result = useFullScreenURLs(); diff --git a/src/Explorer/Panes/AddCollectionPane.test.ts b/src/Explorer/Panes/AddCollectionPane.test.ts index 6b6bba35a..3e36abe1f 100644 --- a/src/Explorer/Panes/AddCollectionPane.test.ts +++ b/src/Explorer/Panes/AddCollectionPane.test.ts @@ -4,45 +4,38 @@ import { updateUserContext } from "../../UserContext"; import Explorer from "../Explorer"; import AddCollectionPane from "./AddCollectionPane"; +const mockDatabaseAccount: DatabaseAccount = { + id: "mock", + kind: "DocumentDB", + location: "", + name: "mock", + properties: { + documentEndpoint: "", + cassandraEndpoint: "", + gremlinEndpoint: "", + tableEndpoint: "", + enableFreeTier: false, + }, + type: undefined, +}; + +const mockFreeTierDatabaseAccount: DatabaseAccount = { + id: "mock", + kind: "DocumentDB", + location: "", + name: "mock", + properties: { + documentEndpoint: "", + cassandraEndpoint: "", + gremlinEndpoint: "", + tableEndpoint: "", + enableFreeTier: true, + }, + type: undefined, +}; + describe("Add Collection Pane", () => { describe("isValid()", () => { - let explorer: Explorer; - const mockDatabaseAccount: DatabaseAccount = { - id: "mock", - kind: "DocumentDB", - location: "", - name: "mock", - properties: { - documentEndpoint: "", - cassandraEndpoint: "", - gremlinEndpoint: "", - tableEndpoint: "", - enableFreeTier: false, - }, - type: undefined, - tags: [], - }; - - const mockFreeTierDatabaseAccount: DatabaseAccount = { - id: "mock", - kind: "DocumentDB", - location: "", - name: "mock", - properties: { - documentEndpoint: "", - cassandraEndpoint: "", - gremlinEndpoint: "", - tableEndpoint: "", - enableFreeTier: true, - }, - type: undefined, - tags: [], - }; - - beforeEach(() => { - explorer = new Explorer(); - }); - it("should be true if graph API and partition key is not /id nor /label", () => { updateUserContext({ databaseAccount: { @@ -51,6 +44,7 @@ describe("Add Collection Pane", () => { }, } as DatabaseAccount, }); + const explorer = new Explorer(); const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; addCollectionPane.partitionKey("/blah"); expect(addCollectionPane.isValid()).toBe(true); @@ -64,6 +58,7 @@ describe("Add Collection Pane", () => { }, } as DatabaseAccount, }); + const explorer = new Explorer(); const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; addCollectionPane.partitionKey("/id"); expect(addCollectionPane.isValid()).toBe(false); @@ -80,6 +75,7 @@ describe("Add Collection Pane", () => { }, } as DatabaseAccount, }); + const explorer = new Explorer(); const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; addCollectionPane.partitionKey("/id"); @@ -90,7 +86,8 @@ describe("Add Collection Pane", () => { }); it("should display free tier text in upsell messaging", () => { - explorer.databaseAccount(mockFreeTierDatabaseAccount); + updateUserContext({ databaseAccount: mockFreeTierDatabaseAccount }); + const explorer = new Explorer(); const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; expect(addCollectionPane.isFreeTierAccount()).toBe(true); expect(addCollectionPane.upsellMessage()).toContain("With free tier"); @@ -99,7 +96,8 @@ describe("Add Collection Pane", () => { }); it("should display standard texr in upsell messaging", () => { - explorer.databaseAccount(mockDatabaseAccount); + updateUserContext({ databaseAccount: mockDatabaseAccount }); + const explorer = new Explorer(); const addCollectionPane = explorer.addCollectionPane as AddCollectionPane; expect(addCollectionPane.isFreeTierAccount()).toBe(false); expect(addCollectionPane.upsellMessage()).toContain("Start at"); diff --git a/src/Explorer/Panes/AddCollectionPane.ts b/src/Explorer/Panes/AddCollectionPane.ts index 8085d885a..c626f151a 100644 --- a/src/Explorer/Panes/AddCollectionPane.ts +++ b/src/Explorer/Panes/AddCollectionPane.ts @@ -108,6 +108,8 @@ export default class AddCollectionPane extends ContextualPaneBase { this.collectionWithThroughputInShared = ko.observable(false); this.databaseIds = ko.observableArray(); this.uniqueKeys = ko.observableArray(); + this.isSharedAutoPilotSelected = ko.observable(); + this.isAutoPilotSelected = ko.observable(); if (this.container) { this.container.databases.subscribe((newDatabases: ViewModels.Database[]) => { @@ -177,7 +179,7 @@ export default class AddCollectionPane extends ContextualPaneBase { return ""; } - const account = this.container.databaseAccount(); + const { databaseAccount: account } = userContext; if (!account) { return ""; } @@ -235,7 +237,7 @@ export default class AddCollectionPane extends ContextualPaneBase { return ""; } - const account = this.container.databaseAccount(); + const { databaseAccount: account } = userContext; if (!account) { return ""; } @@ -523,10 +525,7 @@ export default class AddCollectionPane extends ContextualPaneBase { }); this.isFreeTierAccount = ko.computed(() => { - const databaseAccount = this.container && this.container.databaseAccount && this.container.databaseAccount(); - const isFreeTierAccount = - databaseAccount && databaseAccount.properties && databaseAccount.properties.enableFreeTier; - return isFreeTierAccount; + return userContext?.databaseAccount?.properties?.enableFreeTier; }); this.showUpsellMessage = ko.pureComputed(() => { @@ -596,9 +595,7 @@ export default class AddCollectionPane extends ContextualPaneBase { }); this._isSynapseLinkEnabled = ko.computed(() => { - const databaseAccount = - (this.container && this.container.databaseAccount && this.container.databaseAccount()) || - ({} as DataModels.DatabaseAccount); + const databaseAccount = userContext?.databaseAccount || ({} as DataModels.DatabaseAccount); const properties = databaseAccount.properties || ({} as DataModels.DatabaseAccountExtendedProperties); // TODO: remove check for capability once all accounts have been migrated @@ -641,7 +638,7 @@ export default class AddCollectionPane extends ContextualPaneBase { } public getSharedThroughputDefault(): boolean { - const subscriptionType = userContext.subscriptionType; + const { subscriptionType } = userContext; if (subscriptionType === SubscriptionType.EA || this.container.isServerlessEnabled()) { return false; } @@ -809,7 +806,7 @@ export default class AddCollectionPane extends ContextualPaneBase { let indexingPolicy: DataModels.IndexingPolicy; let createMongoWildcardIndex: boolean; // todo - remove mongo indexing policy ticket # 616274 - if (userContext.apiType === "Mongo" && this.container.isEnableMongoCapabilityPresent()) { + if (userContext.apiType === "Mongo") { createMongoWildcardIndex = this.shouldCreateMongoWildcardIndex(); } else if (this.showIndexingOptionsForSharedThroughput()) { if (this.useIndexingForSharedThroughput()) { diff --git a/src/Explorer/Panes/AddCollectionPanel.tsx b/src/Explorer/Panes/AddCollectionPanel.tsx index 271de5d69..ffbea654a 100644 --- a/src/Explorer/Panes/AddCollectionPanel.tsx +++ b/src/Explorer/Panes/AddCollectionPanel.tsx @@ -12,7 +12,7 @@ import { Stack, Text, TooltipHost, -} from "office-ui-fabric-react"; +} from "@fluentui/react"; import React from "react"; import * as Constants from "../../Common/Constants"; import { createCollection } from "../../Common/dataAccess/createCollection"; @@ -525,7 +525,7 @@ export class AddCollectionPanel extends React.Component - {this.props.explorer.isEnableMongoCapabilityPresent() && ( + {userContext.databaseAccount.properties.capabilities.find((c) => c.name === "EnableMongo") && ( @@ -841,7 +841,7 @@ export class AddCollectionPanel extends React.Component { describe("getSharedThroughputDefault()", () => { - let explorer: Explorer; - const mockDatabaseAccount: DatabaseAccount = { - id: "mock", - kind: "DocumentDB", - location: "", - name: "mock", - properties: { - documentEndpoint: "", - cassandraEndpoint: "", - gremlinEndpoint: "", - tableEndpoint: "", - enableFreeTier: false, - }, - type: undefined, - tags: [], - }; - - const mockFreeTierDatabaseAccount: DatabaseAccount = { - id: "mock", - kind: "DocumentDB", - location: "", - name: "mock", - properties: { - documentEndpoint: "", - cassandraEndpoint: "", - gremlinEndpoint: "", - tableEndpoint: "", - enableFreeTier: true, - }, - type: undefined, - tags: [], - }; - - beforeEach(() => { - explorer = new Explorer(); - }); - it("should be true if subscription type is Benefits", () => { updateUserContext({ subscriptionType: SubscriptionType.Benefits, }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.getSharedThroughputDefault()).toBe(true); }); @@ -56,6 +50,7 @@ describe("Add Database Pane", () => { updateUserContext({ subscriptionType: SubscriptionType.EA, }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.getSharedThroughputDefault()).toBe(false); }); @@ -64,6 +59,7 @@ describe("Add Database Pane", () => { updateUserContext({ subscriptionType: SubscriptionType.Free, }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.getSharedThroughputDefault()).toBe(true); }); @@ -72,6 +68,7 @@ describe("Add Database Pane", () => { updateUserContext({ subscriptionType: SubscriptionType.Internal, }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.getSharedThroughputDefault()).toBe(true); }); @@ -80,12 +77,14 @@ describe("Add Database Pane", () => { updateUserContext({ subscriptionType: SubscriptionType.PAYG, }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.getSharedThroughputDefault()).toBe(true); }); it("should display free tier text in upsell messaging", () => { - explorer.databaseAccount(mockFreeTierDatabaseAccount); + updateUserContext({ databaseAccount: mockFreeTierDatabaseAccount }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.isFreeTierAccount()).toBe(true); expect(addDatabasePane.upsellMessage()).toContain("With free tier"); @@ -94,7 +93,8 @@ describe("Add Database Pane", () => { }); it("should display standard texr in upsell messaging", () => { - explorer.databaseAccount(mockDatabaseAccount); + updateUserContext({ databaseAccount: mockDatabaseAccount }); + const explorer = new Explorer(); const addDatabasePane = explorer.addDatabasePane as AddDatabasePane; expect(addDatabasePane.isFreeTierAccount()).toBe(false); expect(addDatabasePane.upsellMessage()).toContain("Start at"); diff --git a/src/Explorer/Panes/AddDatabasePane.ts b/src/Explorer/Panes/AddDatabasePane.ts index 640d0f502..d07efff58 100644 --- a/src/Explorer/Panes/AddDatabasePane.ts +++ b/src/Explorer/Panes/AddDatabasePane.ts @@ -112,18 +112,13 @@ export default class AddDatabasePane extends ContextualPaneBase { return ""; } - const account = this.container.databaseAccount(); + const { databaseAccount: account } = userContext; if (!account) { return ""; } - const regions = - (account && - account.properties && - account.properties.readLocations && - account.properties.readLocations.length) || - 1; - const multimaster = (account && account.properties && account.properties.enableMultipleWriteLocations) || false; + const regions = account?.properties?.readLocations?.length || 1; + const multimaster = account?.properties?.enableMultipleWriteLocations || false; let estimatedSpendAcknowledge: string; let estimatedSpend: string; @@ -175,10 +170,7 @@ export default class AddDatabasePane extends ContextualPaneBase { }); this.isFreeTierAccount = ko.computed(() => { - const databaseAccount = this.container && this.container.databaseAccount && this.container.databaseAccount(); - const isFreeTierAccount = - databaseAccount && databaseAccount.properties && databaseAccount.properties.enableFreeTier; - return isFreeTierAccount; + return userContext?.databaseAccount?.properties?.enableFreeTier; }); this.showUpsellMessage = ko.pureComputed(() => { @@ -336,7 +328,7 @@ export default class AddDatabasePane extends ContextualPaneBase { } public getSharedThroughputDefault(): boolean { - const subscriptionType = userContext.subscriptionType; + const { subscriptionType } = userContext; if (subscriptionType === SubscriptionType.EA || this.container.isServerlessEnabled()) { return false; diff --git a/src/Explorer/Panes/CassandraAddCollectionPane.ts b/src/Explorer/Panes/CassandraAddCollectionPane.ts index d3a2d2098..18879e6d3 100644 --- a/src/Explorer/Panes/CassandraAddCollectionPane.ts +++ b/src/Explorer/Panes/CassandraAddCollectionPane.ts @@ -78,10 +78,7 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase { this.canExceedMaximumValue = ko.pureComputed(() => this.container.canExceedMaximumValue()); this.isFreeTierAccount = ko.computed(() => { - const databaseAccount = this.container && this.container.databaseAccount && this.container.databaseAccount(); - const isFreeTierAccount = - databaseAccount && databaseAccount.properties && databaseAccount.properties.enableFreeTier; - return isFreeTierAccount; + return userContext?.databaseAccount?.properties?.enableFreeTier; }); this.tableId = ko.observable(""); @@ -116,7 +113,7 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase { this.resetData(); this.requestUnitsUsageCostDedicated = ko.computed(() => { - const account = this.container.databaseAccount(); + const { databaseAccount: account } = userContext; if (!account) { return ""; } @@ -165,18 +162,13 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase { }); this.requestUnitsUsageCostShared = ko.computed(() => { - const account = this.container.databaseAccount(); + const { databaseAccount: account } = userContext; if (!account) { return ""; } - const regions = - (account && - account.properties && - account.properties.readLocations && - account.properties.readLocations.length) || - 1; - const multimaster = (account && account.properties && account.properties.enableMultipleWriteLocations) || false; + const regions = account?.properties?.readLocations?.length || 1; + const multimaster = account?.properties?.enableMultipleWriteLocations || false; let estimatedSpend: string; let estimatedSharedSpendAcknowledge: string; if (!this.isSharedAutoPilotSelected()) { @@ -365,18 +357,19 @@ export default class CassandraAddCollectionPane extends ContextualPaneBase { createTableQuery: createTableQuery, }; const startKey: number = TelemetryProcessor.traceStart(Action.CreateCollection, addCollectionPaneStartMessage); + const { databaseAccount } = userContext; if (toCreateKeyspace) { createTableAndKeyspacePromise = (this.container.tableDataClient).createTableAndKeyspace( - this.container.databaseAccount().properties.cassandraEndpoint, - this.container.databaseAccount().id, + databaseAccount?.properties.cassandraEndpoint, + databaseAccount?.id, this.container, createTableQuery, createKeyspaceQuery ); } else { createTableAndKeyspacePromise = (this.container.tableDataClient).createTableAndKeyspace( - this.container.databaseAccount().properties.cassandraEndpoint, - this.container.databaseAccount().id, + databaseAccount?.properties.cassandraEndpoint, + databaseAccount?.id, this.container, createTableQuery ); diff --git a/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPane.tsx b/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPane.tsx index 30e6bdeb5..41b52a189 100644 --- a/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPane.tsx +++ b/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPane.tsx @@ -1,4 +1,4 @@ -import { IDropdownOption } from "office-ui-fabric-react"; +import { IDropdownOption } from "@fluentui/react"; import React, { FormEvent, FunctionComponent, useEffect, useState } from "react"; import { HttpStatusCodes } from "../../../Common/Constants"; import { getErrorMessage, handleError } from "../../../Common/ErrorHandlingUtils"; diff --git a/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPaneComponent.tsx b/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPaneComponent.tsx index 915c0bd30..47bac0e2e 100644 --- a/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPaneComponent.tsx +++ b/src/Explorer/Panes/CopyNotebookPane/CopyNotebookPaneComponent.tsx @@ -8,7 +8,7 @@ import { SelectableOptionMenuItemType, Stack, Text, -} from "office-ui-fabric-react"; +} from "@fluentui/react"; import React, { FormEvent, FunctionComponent } from "react"; import { IPinnedRepo } from "../../../Juno/JunoClient"; import * as GitHubUtils from "../../../Utils/GitHubUtils"; diff --git a/src/Explorer/Panes/DeleteCollectionConfirmationPane/DeleteCollectionConfirmationPane.tsx b/src/Explorer/Panes/DeleteCollectionConfirmationPane/DeleteCollectionConfirmationPane.tsx index cd420e790..1fdc2488b 100644 --- a/src/Explorer/Panes/DeleteCollectionConfirmationPane/DeleteCollectionConfirmationPane.tsx +++ b/src/Explorer/Panes/DeleteCollectionConfirmationPane/DeleteCollectionConfirmationPane.tsx @@ -1,4 +1,4 @@ -import { Text, TextField } from "office-ui-fabric-react"; +import { Text, TextField } from "@fluentui/react"; import React, { FunctionComponent, useState } from "react"; import { Areas } from "../../../Common/Constants"; import { deleteCollection } from "../../../Common/dataAccess/deleteCollection"; diff --git a/src/Explorer/Panes/DeleteCollectionConfirmationPane/__snapshots__/DeleteCollectionConfirmationPane.test.tsx.snap b/src/Explorer/Panes/DeleteCollectionConfirmationPane/__snapshots__/DeleteCollectionConfirmationPane.test.tsx.snap index a78871304..d0082d724 100644 --- a/src/Explorer/Panes/DeleteCollectionConfirmationPane/__snapshots__/DeleteCollectionConfirmationPane.test.tsx.snap +++ b/src/Explorer/Panes/DeleteCollectionConfirmationPane/__snapshots__/DeleteCollectionConfirmationPane.test.tsx.snap @@ -523,7 +523,6 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect "borderColor": "#f3f2f1", "color": "#a19f9d", "cursor": "default", - "pointerEvents": "none", "selectors": Object { ":focus": Object { "outline": 0, @@ -786,6 +785,35 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect }, }, }, + "splitButtonMenuFocused": Object { + "outline": "transparent", + "position": "relative", + "selectors": Object { + ".ms-Fabric--isFocusVisible &:focus:after": Object { + "border": "1px solid #ffffff", + "bottom": 3, + "content": "\\"\\"", + "left": 3, + "outline": "1px solid #605e5c", + "position": "absolute", + "right": 3, + "selectors": Object { + "@media screen and (-ms-high-contrast: active), (forced-colors: active)": Object { + "border": "none", + "bottom": -2, + "left": -2, + "right": -2, + "top": -2, + }, + }, + "top": 3, + "zIndex": 1, + }, + "::-moz-focus-inner": Object { + "border": "0", + }, + }, + }, "textContainer": Object { "display": "block", "flexGrow": 1, @@ -1071,7 +1099,7 @@ exports[`Delete Collection Confirmation Pane submit() should call delete collect >