From 415d06f2094b3a4cbaafff13bef65315790a2847 Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Wed, 26 Apr 2023 14:10:19 +0200 Subject: [PATCH] WIP my account page --- frontend/codegen.ts | 11 +- frontend/package-lock.json | 1677 ++++++++---- frontend/package.json | 44 +- frontend/src/Router.tsx | 17 +- frontend/src/components/AddEmailForm.tsx | 88 + frontend/src/components/Button.tsx | 12 +- frontend/src/components/Input.stories.ts | 50 + frontend/src/components/Input.tsx | 28 + frontend/src/components/Layout.tsx | 2 +- frontend/src/components/UserEmail.tsx | 53 + frontend/src/components/UserEmailList.tsx | 108 + frontend/src/gql/gql.ts | 110 +- frontend/src/gql/graphql.ts | 1905 +++++++++++-- frontend/src/gql/schema.ts | 2949 +++++++++++---------- frontend/src/main.tsx | 2 + frontend/src/pages/Account.tsx | 76 + frontend/vite.config.ts | 10 +- 17 files changed, 4898 insertions(+), 2244 deletions(-) create mode 100644 frontend/src/components/AddEmailForm.tsx create mode 100644 frontend/src/components/Input.stories.ts create mode 100644 frontend/src/components/Input.tsx create mode 100644 frontend/src/components/UserEmail.tsx create mode 100644 frontend/src/components/UserEmailList.tsx create mode 100644 frontend/src/pages/Account.tsx diff --git a/frontend/codegen.ts b/frontend/codegen.ts index f438bd19..a10cdbcf 100644 --- a/frontend/codegen.ts +++ b/frontend/codegen.ts @@ -10,10 +10,17 @@ const config: CodegenConfig = { plugins: [], }, "./src/gql/schema.ts": { - plugins: ["urql-introspection"], + plugins: [ + { + add: { + content: "/* eslint-disable */", + }, + }, + "urql-introspection", + ], }, }, - hooks: { afterAllFileWrite: ["eslint --fix"] }, + hooks: { afterOneFileWrite: ["prettier --write"] }, }; export default config; diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 497c755d..c25939c0 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -8,11 +8,13 @@ "name": "mas-frontend", "version": "0.0.0", "dependencies": { - "@urql/core": "^4.0.6", - "@urql/exchange-graphcache": "^6.0.2", + "@emotion/react": "^11.10.6", + "@urql/core": "^4.0.7", + "@urql/exchange-graphcache": "^6.0.3", "date-fns": "^2.29.3", "graphql": "^16.6.0", "jotai": "^2.0.4", + "jotai-devtools": "^0.4.0", "jotai-location": "^0.5.1", "jotai-urql": "^0.7.1", "react": "^18.2.0", @@ -20,47 +22,47 @@ }, "devDependencies": { "@graphql-codegen/cli": "^3.3.1", - "@graphql-codegen/client-preset": "^3.0.0", + "@graphql-codegen/client-preset": "^3.0.1", "@graphql-codegen/urql-introspection": "^2.2.1", "@graphql-eslint/eslint-plugin": "^3.18.0", - "@storybook/addon-actions": "^7.0.6", - "@storybook/addon-backgrounds": "^7.0.6", - "@storybook/addon-controls": "^7.0.6", - "@storybook/addon-docs": "^7.0.6", - "@storybook/addon-essentials": "^7.0.6", - "@storybook/addon-measure": "^7.0.6", - "@storybook/addon-outline": "^7.0.6", - "@storybook/addon-toolbars": "^7.0.6", - "@storybook/addon-viewport": "^7.0.6", - "@storybook/react": "^7.0.6", - "@storybook/react-vite": "^7.0.6", - "@types/node": "^18.16.0", - "@types/react": "^18.0.37", - "@types/react-dom": "^18.0.11", + "@storybook/addon-actions": "^7.0.7", + "@storybook/addon-backgrounds": "^7.0.7", + "@storybook/addon-controls": "^7.0.7", + "@storybook/addon-docs": "^7.0.7", + "@storybook/addon-essentials": "^7.0.7", + "@storybook/addon-measure": "^7.0.7", + "@storybook/addon-outline": "^7.0.7", + "@storybook/addon-toolbars": "^7.0.7", + "@storybook/addon-viewport": "^7.0.7", + "@storybook/react": "^7.0.7", + "@storybook/react-vite": "^7.0.7", + "@types/node": "^18.16.1", + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.1", "@types/react-test-renderer": "^18.0.0", "@vitejs/plugin-react": "^4.0.0", "@vitest/coverage-c8": "^0.30.1", "autoprefixer": "^10.4.14", - "eslint": "^8.38.0", + "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-prettier": "^4.2.1", "postcss": "^8.4.23", "prettier": "^2.8.8", "react-test-renderer": "^18.2.0", - "storybook": "^7.0.6", - "tailwindcss": "^3.3.1", + "storybook": "^7.0.7", + "tailwindcss": "^3.3.2", "typescript": "^5.0.4", - "vite": "^4.3.1", + "vite": "^4.3.2", "vite-plugin-eslint": "^1.8.1", "vite-plugin-graphql-codegen": "^3.2.0", "vitest": "^0.30.1" } }, "node_modules/@0no-co/graphql.web": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.0.tgz", - "integrity": "sha512-JBq2pWyDchE1vVjj/+c4dzZ8stbpew4RrzpZ3vYdn1WJFGHfYg6YIX1fDdMKtSXJJM9FUlsoDOxemr9WMM2p+A==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.0.1.tgz", + "integrity": "sha512-6Yaxyv6rOwRkLIvFaL0NrLDgfNqC/Ng9QOPmTmlqW4mORXMEKmh5NYGkIvvt5Yw8fZesnMAqkj8cIqTj8f40cQ==", "peerDependencies": { "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" }, @@ -70,6 +72,18 @@ } } }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", @@ -260,7 +274,6 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", - "dev": true, "dependencies": { "@babel/highlight": "^7.18.6" }, @@ -510,7 +523,6 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", - "dev": true, "dependencies": { "@babel/types": "^7.21.4" }, @@ -633,7 +645,6 @@ "version": "7.19.4", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -642,7 +653,6 @@ "version": "7.19.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", - "dev": true, "engines": { "node": ">=6.9.0" } @@ -689,7 +699,6 @@ "version": "7.18.6", "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", @@ -703,7 +712,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -715,7 +723,6 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -729,7 +736,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -737,14 +743,12 @@ "node_modules/@babel/highlight/node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/@babel/highlight/node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -753,7 +757,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, "engines": { "node": ">=4" } @@ -762,7 +765,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -2298,7 +2300,6 @@ "version": "7.21.0", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -2345,7 +2346,6 @@ "version": "7.21.4", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz", "integrity": "sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==", - "dev": true, "dependencies": { "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", @@ -2386,15 +2386,117 @@ "node": ">=10.0.0" } }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.10.7", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.7.tgz", + "integrity": "sha512-VLl1/2D6LOjH57Y8Vem1RoZ9haWF4jesHDGiHtKozDQuBIkJm2gimVo0I02sWCuzZtVACeixTVB4jeE8qvCBoQ==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "node_modules/@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "node_modules/@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", - "dev": true, "peerDependencies": { "react": ">=16.8.0" } }, + "node_modules/@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, "node_modules/@esbuild/android-arm": { "version": "0.17.17", "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.17.tgz", @@ -2822,9 +2924,9 @@ } }, "node_modules/@eslint/js": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz", - "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==", + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2836,6 +2938,45 @@ "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", "dev": true }, + "node_modules/@floating-ui/core": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.6.tgz", + "integrity": "sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==" + }, + "node_modules/@floating-ui/dom": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.6.tgz", + "integrity": "sha512-02vxFDuvuVPs22iJICacezYJyf7zwwOCWkPNkWNBr1U0Qt1cKFYzWvxts0AmqcOQGwt/3KJWcWIgtbUU38keyw==", + "dependencies": { + "@floating-ui/core": "^1.2.6" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@graphql-codegen/add": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@graphql-codegen/add/-/add-4.0.1.tgz", @@ -2902,20 +3043,20 @@ } }, "node_modules/@graphql-codegen/client-preset": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-3.0.0.tgz", - "integrity": "sha512-J8MGoucvhjqStZ3JBY9rfmgOZrSwuX8aIX5q1OHpjDjxxwaV7XIcw6ztKcZo394xEwA/hMjdoO++qFi0wMRKQA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/client-preset/-/client-preset-3.0.1.tgz", + "integrity": "sha512-aHlnlDWS39kddNJ/I+ItIUj3AX1040aRwHEv2FiPAL0ILrGzHg3AZY1Ay358Ys8fXclrqIN7IeWLmeyI3TIHiA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.20.2", "@babel/template": "^7.20.7", "@graphql-codegen/add": "^4.0.1", - "@graphql-codegen/gql-tag-operations": "3.0.0", + "@graphql-codegen/gql-tag-operations": "3.0.1", "@graphql-codegen/plugin-helpers": "^4.2.0", - "@graphql-codegen/typed-document-node": "^4.0.0", - "@graphql-codegen/typescript": "^3.0.3", - "@graphql-codegen/typescript-operations": "^3.0.3", - "@graphql-codegen/visitor-plugin-common": "^3.1.0", + "@graphql-codegen/typed-document-node": "^4.0.1", + "@graphql-codegen/typescript": "^3.0.4", + "@graphql-codegen/typescript-operations": "^3.0.4", + "@graphql-codegen/visitor-plugin-common": "^3.1.1", "@graphql-tools/documents": "^0.1.0", "@graphql-tools/utils": "^9.0.0", "@graphql-typed-document-node/core": "3.2.0", @@ -2941,14 +3082,13 @@ } }, "node_modules/@graphql-codegen/gql-tag-operations": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-3.0.0.tgz", - "integrity": "sha512-qU122aRJPwZ+56//cIFl9fA25LNdzlmqArRJFa0nnJ2dY8PPmjXX8oXM5IGRB9sBJfHZPniiN1cM2NysgLS8Lg==", - "deprecated": "This module has been deprecated. Please use client-preset instead. See: https://the-guild.dev/graphql/codegen/plugins/presets/preset-client", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/gql-tag-operations/-/gql-tag-operations-3.0.1.tgz", + "integrity": "sha512-8TpJuOiw56wSIS3v+jF5Yr695NYFCpSpChTbUnVLYT6QmnBExv/VwA9bHDchuyUBUE3PfpP/l5JF62Sc0oWmWg==", "dev": true, "dependencies": { "@graphql-codegen/plugin-helpers": "^4.2.0", - "@graphql-codegen/visitor-plugin-common": "3.1.0", + "@graphql-codegen/visitor-plugin-common": "3.1.1", "@graphql-tools/utils": "^9.0.0", "auto-bind": "~4.0.0", "tslib": "~2.5.0" @@ -2989,13 +3129,13 @@ } }, "node_modules/@graphql-codegen/typed-document-node": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-4.0.0.tgz", - "integrity": "sha512-hzalrmTKIKXSUFv3RzPArBK+2zY9Oi8gBKNdUBKI1lNlEWA9BCXADmu3X/R1fvmLcqrVSnRUc6F1byx47f5+qQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typed-document-node/-/typed-document-node-4.0.1.tgz", + "integrity": "sha512-mQNYCd12JsFSaK6xLry4olY9TdYG7GxQPexU6qU4Om++eKhseGwk2eGmQDRG4Qp8jEDFLMXuHMVUKqMQ1M+F/A==", "dev": true, "dependencies": { "@graphql-codegen/plugin-helpers": "^4.2.0", - "@graphql-codegen/visitor-plugin-common": "3.1.0", + "@graphql-codegen/visitor-plugin-common": "3.1.1", "auto-bind": "~4.0.0", "change-case-all": "1.0.15", "tslib": "~2.5.0" @@ -3005,14 +3145,14 @@ } }, "node_modules/@graphql-codegen/typescript": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-3.0.3.tgz", - "integrity": "sha512-oVV4/RPs3Lmr2XqywlNDmLhNBCIhefA8rYcuxoWcnd/WRc6GNRm1b2NOIzDhhF4xriVluMyk3QQVRepkdj9enw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-3.0.4.tgz", + "integrity": "sha512-x4O47447DZrWNtE/l5CU9QzzW4m1RbmCEdijlA3s2flG/y1Ckqdemob4CWfilSm5/tZ3w1junVDY616RDTSvZw==", "dev": true, "dependencies": { "@graphql-codegen/plugin-helpers": "^4.2.0", "@graphql-codegen/schema-ast": "^3.0.1", - "@graphql-codegen/visitor-plugin-common": "3.1.0", + "@graphql-codegen/visitor-plugin-common": "3.1.1", "auto-bind": "~4.0.0", "tslib": "~2.5.0" }, @@ -3021,14 +3161,14 @@ } }, "node_modules/@graphql-codegen/typescript-operations": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.3.tgz", - "integrity": "sha512-RtMRFpZ8nyXxwurdxklWVIHX9U6/fGWYWEpvarNIIci17BKajZPzdBPKP2GKhUEWzZVGNESqH3RX38jt0onLqQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.4.tgz", + "integrity": "sha512-6yE2OL2+WJ1vd5MwFEGXpaxsFGzjAGUytPVHDML3Bi3TwP1F3lnQlIko4untwvHW0JhZEGQ7Ck30H9HjcxpdKA==", "dev": true, "dependencies": { "@graphql-codegen/plugin-helpers": "^4.2.0", - "@graphql-codegen/typescript": "^3.0.3", - "@graphql-codegen/visitor-plugin-common": "3.1.0", + "@graphql-codegen/typescript": "^3.0.4", + "@graphql-codegen/visitor-plugin-common": "3.1.1", "auto-bind": "~4.0.0", "tslib": "~2.5.0" }, @@ -3104,9 +3244,9 @@ "dev": true }, "node_modules/@graphql-codegen/visitor-plugin-common": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.1.0.tgz", - "integrity": "sha512-S4BO/xP38eoEDULwbem5QeV7yWA8DpbcSGkvwrnMfVQW08nL6uHliCSV8hiuAi7Mhx7snVir4Iumk8uIDRVu6Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.1.1.tgz", + "integrity": "sha512-uAfp+zu/009R3HUAuTK2AamR1bxIltM6rrYYI6EXSmkM3rFtFsLTuJhjUDj98HcUCszJZrADppz8KKLGRUVlNg==", "dev": true, "dependencies": { "@graphql-codegen/plugin-helpers": "^4.2.0", @@ -3823,6 +3963,74 @@ "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", "dev": true }, + "node_modules/@mantine/core": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@mantine/core/-/core-6.0.9.tgz", + "integrity": "sha512-v0g59ajqFOcSlXO3bNpRaZg3VSX3hVAJ/MyaAvzdMYtTiN0ogaBJH3RXQscxr7Us2ega4psG1rW7ybUP7WrZKg==", + "dependencies": { + "@floating-ui/react": "^0.19.1", + "@mantine/styles": "6.0.9", + "@mantine/utils": "6.0.9", + "@radix-ui/react-scroll-area": "1.0.2", + "react-remove-scroll": "^2.5.5", + "react-textarea-autosize": "8.3.4" + }, + "peerDependencies": { + "@mantine/hooks": "6.0.9", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/hooks": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@mantine/hooks/-/hooks-6.0.9.tgz", + "integrity": "sha512-01FvXnXed0Hni4WvmtTs0HMulyd7sibEG52uS+oy4ziYumKb8eMMTnvs4Ov7meKAvtA9/pmW+Yif1pm2GB4bnw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@mantine/prism": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@mantine/prism/-/prism-6.0.9.tgz", + "integrity": "sha512-xzi8KmZpKdFy56yalLRHTPdI0gE9vw5DBZUr/Mbcvhst3lcIPkWDqfdw1SL2gqB5vspYqf86kzjO7OuBNghO/g==", + "dependencies": { + "@mantine/utils": "6.0.9", + "prism-react-renderer": "^1.2.1" + }, + "peerDependencies": { + "@mantine/core": "6.0.9", + "@mantine/hooks": "6.0.9", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/styles": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@mantine/styles/-/styles-6.0.9.tgz", + "integrity": "sha512-jTtSicZalxw5fHD4p2c5RJdsb1DlBTKFwMmPWSTt5IgQ3ADucQtQWl2sVtVCpR/b5w9/Ihzgju84bPmOlAWh0g==", + "dependencies": { + "clsx": "1.1.1", + "csstype": "3.0.9" + }, + "peerDependencies": { + "@emotion/react": ">=11.9.0", + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@mantine/styles/node_modules/csstype": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz", + "integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" + }, + "node_modules/@mantine/utils": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/@mantine/utils/-/utils-6.0.9.tgz", + "integrity": "sha512-zEDZixO8dw2ZSNZiQ1g7S+Bq2q4E8ps6bvpyZsxpiXBdh3g2H0WOEdJdDpBTiTRPWotSlU1kaKN3tOplCRDQ2Q==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, "node_modules/@mdx-js/react": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", @@ -3976,6 +4184,154 @@ "node": ">=10.12.0" } }, + "node_modules/@radix-ui/number": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.0.tgz", + "integrity": "sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.0.tgz", + "integrity": "sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz", + "integrity": "sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.0.tgz", + "integrity": "sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz", + "integrity": "sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.0.tgz", + "integrity": "sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz", + "integrity": "sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.1" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz", + "integrity": "sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.0", + "@radix-ui/primitive": "1.0.0", + "@radix-ui/react-compose-refs": "1.0.0", + "@radix-ui/react-context": "1.0.0", + "@radix-ui/react-direction": "1.0.0", + "@radix-ui/react-presence": "1.0.0", + "@radix-ui/react-primitive": "1.0.1", + "@radix-ui/react-use-callback-ref": "1.0.0", + "@radix-ui/react-use-layout-effect": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.1.tgz", + "integrity": "sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.0" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz", + "integrity": "sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz", + "integrity": "sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "react": "^16.8 || ^17.0 || ^18.0" + } + }, + "node_modules/@redux-devtools/extension": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@redux-devtools/extension/-/extension-3.2.5.tgz", + "integrity": "sha512-UhyDF7WmdnCrN1s++YC4sdQCo0z6YUnoB2eCh15nXDDq3QH1jDju1144UNRU6Nvi4inxhaIum4m9BXVYWVC1ng==", + "dependencies": { + "@babel/runtime": "^7.20.7", + "immutable": "^4.2.2" + }, + "peerDependencies": { + "redux": "^3.1.0 || ^4.0.0" + } + }, + "node_modules/@redux-devtools/extension/node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==" + }, "node_modules/@repeaterjs/repeater": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz", @@ -4008,19 +4364,19 @@ "dev": true }, "node_modules/@storybook/addon-actions": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.6.tgz", - "integrity": "sha512-H592lkj06bJMX4uwmZI3AVpRFPQ8nkM5j+eo+JQdv0QX9lLZWKnhrGkGDTC/QMSnXMdgHooq0ce9PdGaDvUm1Q==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.0.7.tgz", + "integrity": "sha512-WxsnSjAvdf6NhUfTqcwV+FJmsJV56gh2cY4QnGfqfwO5zoBWTUYnhz57TgxSMhJY0kspyX9Q1Kc//r1d5lt1qA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -4028,7 +4384,7 @@ "react-inspector": "^6.0.0", "telejson": "^7.0.3", "ts-dedent": "^2.0.0", - "uuid-browser": "^3.1.0" + "uuid": "^9.0.0" }, "funding": { "type": "opencollective", @@ -4048,19 +4404,19 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.6.tgz", - "integrity": "sha512-jOmZq19xS8Ge5TEc49jrO7Qbmxg+6vmCwA04s1OApzmugEcscgtzBvplbw+FeXbSSjT6MM1c7u8XYVioDrzTXw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.7.tgz", + "integrity": "sha512-DhT32K1+ti7MXY9oqt36b9jlg7iY68IP0ZQbR3gjShcsIXZpFqh18TQo0vwDY1ldqnBvkTk6Jd5vcxA8tfyshw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "memoizerific": "^1.11.3", "ts-dedent": "^2.0.0" }, @@ -4082,20 +4438,20 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.0.6.tgz", - "integrity": "sha512-yNaJ42CJxlPMKV9mpkuaiXrQXnjWhsgLASpZcZsE5+KyAqcS/iue9UWO+M/u5zt2/zb4w8BW4GysmvBKl0VDKQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.0.7.tgz", + "integrity": "sha512-/QEzleKoWRQ3i7KB32QvqDGcGMw4kG2BxEf0d+ymxd2SjoeL6kX2eHE0b4OxFPXiWUyTfXBFwmcI2Re3fRUJnQ==", "dev": true, "dependencies": { - "@storybook/blocks": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-common": "7.0.6", - "@storybook/manager-api": "7.0.6", - "@storybook/node-logger": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/blocks": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-common": "7.0.7", + "@storybook/manager-api": "7.0.7", + "@storybook/node-logger": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -4117,28 +4473,28 @@ } }, "node_modules/@storybook/addon-docs": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.0.6.tgz", - "integrity": "sha512-l5m2sGch9vexy4O0Oe6akyTbaV0+yh9Ihm4ez8FtZkDy8UTtPsKeZ4cdpkg7Lpwa4kYVMV6i2R3xI07/kwhqGg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.0.7.tgz", + "integrity": "sha512-5PT7aiTD6QPH+4CZLcv4PiUgWucD9JNGHVMRbQMEyFW6qbs87dHmu1m1uXIvx3BF5h3mTo4FHNAf8IQIq5HH9w==", "dev": true, "dependencies": { "@babel/core": "^7.20.2", "@babel/plugin-transform-react-jsx": "^7.19.0", "@jest/transform": "^29.3.1", "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/csf-plugin": "7.0.6", - "@storybook/csf-tools": "7.0.6", + "@storybook/blocks": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/csf-plugin": "7.0.7", + "@storybook/csf-tools": "7.0.7", "@storybook/global": "^5.0.0", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.0.6", - "@storybook/postinstall": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/react-dom-shim": "7.0.6", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/node-logger": "7.0.7", + "@storybook/postinstall": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/react-dom-shim": "7.0.7", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "fs-extra": "^11.1.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", @@ -4154,24 +4510,24 @@ } }, "node_modules/@storybook/addon-essentials": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.0.6.tgz", - "integrity": "sha512-RLe+osvJ620njDiinPOlCdFAYckOg4PuE/OFFKYL+ityfKcGknYPZdtV8bknfdO3jSFCVx6zOpUv5KE6u4CgWg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.0.7.tgz", + "integrity": "sha512-uNx0BvN1XP7cNnk/L4oiFQlEB/KABqOeIyI8/mhfIyTvvwo9uAYIQAyiwWuz9MFmofCNm7CgLNOUaEwNDkM4CA==", "dev": true, "dependencies": { - "@storybook/addon-actions": "7.0.6", - "@storybook/addon-backgrounds": "7.0.6", - "@storybook/addon-controls": "7.0.6", - "@storybook/addon-docs": "7.0.6", - "@storybook/addon-highlight": "7.0.6", - "@storybook/addon-measure": "7.0.6", - "@storybook/addon-outline": "7.0.6", - "@storybook/addon-toolbars": "7.0.6", - "@storybook/addon-viewport": "7.0.6", - "@storybook/core-common": "7.0.6", - "@storybook/manager-api": "7.0.6", - "@storybook/node-logger": "7.0.6", - "@storybook/preview-api": "7.0.6", + "@storybook/addon-actions": "7.0.7", + "@storybook/addon-backgrounds": "7.0.7", + "@storybook/addon-controls": "7.0.7", + "@storybook/addon-docs": "7.0.7", + "@storybook/addon-highlight": "7.0.7", + "@storybook/addon-measure": "7.0.7", + "@storybook/addon-outline": "7.0.7", + "@storybook/addon-toolbars": "7.0.7", + "@storybook/addon-viewport": "7.0.7", + "@storybook/core-common": "7.0.7", + "@storybook/manager-api": "7.0.7", + "@storybook/node-logger": "7.0.7", + "@storybook/preview-api": "7.0.7", "ts-dedent": "^2.0.0" }, "funding": { @@ -4184,14 +4540,14 @@ } }, "node_modules/@storybook/addon-highlight": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.0.6.tgz", - "integrity": "sha512-weM26CUku1+urbnefNUYxIKrc8xXvpLXHZsGzuxoYyOUCR25F09IUjVutOfgoVXqTqPUj1XWqVkG8PLQNs5vBQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.0.7.tgz", + "integrity": "sha512-expme2GzzCXX7/lL7UjCDi1Tfj+4LeNsAdWiurVLH7glK7yKPPeXXkIldbLP/XjJv4NKlqCwnNRHQx0vDLlE6g==", "dev": true, "dependencies": { - "@storybook/core-events": "7.0.6", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.0.6" + "@storybook/preview-api": "7.0.7" }, "funding": { "type": "opencollective", @@ -4199,18 +4555,18 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.0.6.tgz", - "integrity": "sha512-mtd9tQOlNzxdDJvE0pP7/CMsm3l5skVr5G6wrkzHzhRqknfcj0hPdJUcA1P2PuxgejHBBQ32ZWZ6PubUtFXujQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.0.7.tgz", + "integrity": "sha512-lb4wEIvIVF+ePx1sC+n9rDI0+49sRa6MWbcvZ+BhbAoCeGcX7uACQFdW6HyXolmBuZASsTnzVQ4KqzzvY1dSWw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/types": "7.0.6" + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/types": "7.0.7" }, "funding": { "type": "opencollective", @@ -4230,18 +4586,18 @@ } }, "node_modules/@storybook/addon-outline": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.0.6.tgz", - "integrity": "sha512-UYvL7aRdrn57gwp9O+xykky+BV3KPIZ415Fdb5HRuxfWA/3llWBslwswWXX5A8mAbIeaFZk+C4xIskZgRw1+mg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.0.7.tgz", + "integrity": "sha512-AxbNZ4N1fXBTeMYM9tFudfW+Gzq7UikCjPxn5ax3Pde+zZjaEMppUxv5EMz4g5GIJupLYRmKH5pN0YcYoRLY6w==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/types": "7.0.7", "ts-dedent": "^2.0.0" }, "funding": { @@ -4262,16 +4618,16 @@ } }, "node_modules/@storybook/addon-toolbars": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.0.6.tgz", - "integrity": "sha512-FzybNbJW9GQ6XCe7g2zyOXnJXay971VEoYhRqDPiFQEjBvkRiKca1mRKgdjQt6o5Mw7OzbaLunjR2Xvl3GhE0w==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.0.7.tgz", + "integrity": "sha512-/NkYHhU1VAz5lXjWuV8+ADWB84HzktvZv4jfiKX7Zzu6JVzrBu7FotQSWh3pDqqVwCB50RClUGtcHmSSac9CAQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/theming": "7.0.6" + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/theming": "7.0.7" }, "funding": { "type": "opencollective", @@ -4291,18 +4647,18 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.0.6.tgz", - "integrity": "sha512-5GGAJeWJEplqYAL5x7GQkXw23n2MELhO6nnCV+Jd3d9qs0Aq2VSTEsD0MGTNef/SymZjYm/iOCNOVgbqIF9t+Q==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.0.7.tgz", + "integrity": "sha512-znqhd8JFEFoXcAdwYhz1CwrCpVAzhuSyUVBUNDsDs+mgBEfGth4D4abIdWWGcfP6+CmI5ebFHtk443cExZebag==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/theming": "7.0.6", + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/theming": "7.0.7", "memoizerific": "^1.11.3", "prop-types": "^15.7.2" }, @@ -4324,22 +4680,22 @@ } }, "node_modules/@storybook/blocks": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.6.tgz", - "integrity": "sha512-02B9sY8qrp6DCgyRWZEEd1X/+r7eaTXLOXlikqRmah5XMqtGpEasPXN4ETzzZKKRbSapkKfqxzsp9ZXfqXTNKQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.0.7.tgz", + "integrity": "sha512-ehR0hAFWNHHqmrmbwYPKhLpgbIBKtyMbeoGClTRSnrVBGONciYJdmxegkCTReUklCY+HBJjtlwNowT+7+5sSaw==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/components": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/channels": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/components": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.0.6", + "@storybook/docs-tools": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/manager-api": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -4362,15 +4718,15 @@ } }, "node_modules/@storybook/builder-manager": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.0.6.tgz", - "integrity": "sha512-sjkESh+w1iMaHDSmNL68B6oAz1Re6ieJpQVpOfZEXrBJ4Bkf5ZjcvEnL15g4n2T6s39IYdAYgtB3MT40wCyGLw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.0.7.tgz", + "integrity": "sha512-VI/0iEjAlzQDt1yKu8GXugNIz7t46IHIKgMNmltQ05KPypMgInUoMmbfP5AYOVddjLdSqjMLO7EK58pBLOInpw==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.0.6", - "@storybook/manager": "7.0.6", - "@storybook/node-logger": "7.0.6", + "@storybook/core-common": "7.0.7", + "@storybook/manager": "7.0.7", + "@storybook/node-logger": "7.0.7", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -4390,21 +4746,21 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.0.6.tgz", - "integrity": "sha512-sXthWQFMKxXS8nqihB5sSyRewLpBJDL3EjwzZxz5/4zQ9XCsuGHMW7DEepX9FMWUNPDIIw3KITs4vMrCNDkXhg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.0.7.tgz", + "integrity": "sha512-2wL6fsFWzij+R155urOLc7EjZtlVWf4FLfaSlLGAuZwRQU40N04YdMaHMp9tjd9Vdr5fxEDwTB51PnVWJMlsEw==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.0.6", - "@storybook/channel-websocket": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/core-common": "7.0.6", - "@storybook/csf-plugin": "7.0.6", + "@storybook/channel-postmessage": "7.0.7", + "@storybook/channel-websocket": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/core-common": "7.0.7", + "@storybook/csf-plugin": "7.0.7", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.0.6", - "@storybook/preview": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/node-logger": "7.0.7", + "@storybook/preview": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/types": "7.0.7", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", "express": "^4.17.3", @@ -4508,14 +4864,14 @@ } }, "node_modules/@storybook/channel-postmessage": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.6.tgz", - "integrity": "sha512-xBsh/+85GS4bJ08r7z1iRn26EI6hGmMgNpjpFztRigMhsq5SkD9FJb+Nh9bbaHm+yPOCqJcaHQ2aQpuJNT8dHA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-7.0.7.tgz", + "integrity": "sha512-XMtYfcaE0UoY/V7K1cTu9PcWETD4iyWb/Yswc4F9VrPw0Ui4UwGS1j4iaAu8DC06yyoJs4XvxYFBMlCQmKja6A==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/channels": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.0.3" @@ -4526,13 +4882,13 @@ } }, "node_modules/@storybook/channel-websocket": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-7.0.6.tgz", - "integrity": "sha512-tUk45xUa2/xpRg/QNw6g6j8qIWNPZ5DbpgrFDgWaZo2koI3JTQNL3mLQRWBJpVAG7rkqwBChXPOFO/KhIVaIXA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-7.0.7.tgz", + "integrity": "sha512-KDbLiQts4/dCow3qk5WJSPA6SlaX3iP9RhF0Fjj03hoG2TRskrvo+AkUiJr8gF6dpkPndfuCYUCRsO2Ml8B+AA==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.6", - "@storybook/client-logger": "7.0.6", + "@storybook/channels": "7.0.7", + "@storybook/client-logger": "7.0.7", "@storybook/global": "^5.0.0", "telejson": "^7.0.3" }, @@ -4542,9 +4898,9 @@ } }, "node_modules/@storybook/channels": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.6.tgz", - "integrity": "sha512-+34cVmrXZ3lb1s5tDK+OWd5HLtEPSUMas0VKFJ0k9LBpFlVl9aiCZBJRvSYmWL7beauUfa+HSmJgjlD6228ChQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.0.7.tgz", + "integrity": "sha512-Om4ovBLNw8pVrBu83MpOKgAuGO9Dpr1Coh2qp8t64WRPkejX1mxOY9IgH723//zH3igx8LCkf9rvBvcrsyaScQ==", "dev": true, "funding": { "type": "opencollective", @@ -4552,21 +4908,21 @@ } }, "node_modules/@storybook/cli": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.0.6.tgz", - "integrity": "sha512-x9Ht+N7wGknX31lnDDgfH4Td46UCVqhr0H8pgYRUz+lmhxKv58f0M5kErFRTlUxEXz6/ORI6Cx4cTw7451huyw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.0.7.tgz", + "integrity": "sha512-koTkWr7wlaHF14T5moRP/tYM44+Jf4GEzQ/rqx/Jfn7EbNlVUOibdLJj4JnseMGRc7ZP6tKYku2n+B8g7hJX4w==", "dev": true, "dependencies": { "@babel/core": "^7.20.2", "@babel/preset-env": "^7.20.2", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.0.6", - "@storybook/core-common": "7.0.6", - "@storybook/core-server": "7.0.6", - "@storybook/csf-tools": "7.0.6", - "@storybook/node-logger": "7.0.6", - "@storybook/telemetry": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/codemod": "7.0.7", + "@storybook/core-common": "7.0.7", + "@storybook/core-server": "7.0.7", + "@storybook/csf-tools": "7.0.7", + "@storybook/node-logger": "7.0.7", + "@storybook/telemetry": "7.0.7", + "@storybook/types": "7.0.7", "@types/semver": "^7.3.4", "boxen": "^5.1.2", "chalk": "^4.1.0", @@ -4648,9 +5004,9 @@ "dev": true }, "node_modules/@storybook/client-logger": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.6.tgz", - "integrity": "sha512-TC/E5BBkY+WNldNw5p5Ffr9x4UgMe48GmC50ikBpQFk6og1B7XpFGMMbj40EBB0R5cpZkQNEVQh4OvunEygNzg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.0.7.tgz", + "integrity": "sha512-EclHjDs5HwHMKB4X2orn/KKA0DTIDmp4AXAUJGRfxb5ArpKEb7tXLHsgrRBlaoz1j5LAwKTmEyZOONh9G3etjg==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -4661,18 +5017,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.0.6.tgz", - "integrity": "sha512-tI6A0L+7WxYQj3fW7rlrw6XgVBE8FSJdg5XskNMLArYiMRnK5qnN5JNKeJc8DR5plJ5wm77j0e9cUnuI86vaGg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.0.7.tgz", + "integrity": "sha512-VlkDlkvfbzLe+NOmzs5zGrGb4jnaeAFZqpvIkXxevr6aGcOwgeelNv8gTmgBAcy+xbGW4Pp0XA2BlMweIvKEKA==", "dev": true, "dependencies": { "@babel/core": "~7.21.0", "@babel/preset-env": "~7.21.0", "@babel/types": "~7.21.2", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.0.6", - "@storybook/node-logger": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/csf-tools": "7.0.7", + "@storybook/node-logger": "7.0.7", + "@storybook/types": "7.0.7", "cross-spawn": "^7.0.3", "globby": "^11.0.2", "jscodeshift": "^0.14.0", @@ -4686,16 +5042,16 @@ } }, "node_modules/@storybook/components": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.6.tgz", - "integrity": "sha512-SiHkSgYR8CcAGrWLof85FImcPIb+ApRW6K3LVcyinctJzOQCWLgh0poKUQ5och3CjSxQbM1G4S1ZXrAfZdU9Cg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.0.7.tgz", + "integrity": "sha512-6PLs9LMkBuhH/w4bSJ72tYgICMbOOIHuoB/fQdVlzhsdnXL2fM/v4RVW2N7v+Oz3lYXp/JtV8V9Ub8h6eDQKXg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", + "@storybook/client-logger": "7.0.7", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -4710,13 +5066,13 @@ } }, "node_modules/@storybook/core-client": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.0.6.tgz", - "integrity": "sha512-XF6m6Yr+6AjYxaAU5/1Nor5tjn0IRNXU85xUgll8JkhlYDsPmXwolQRb2lfArbCuXE72E2CcOz9KCqo7oNE3OA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.0.7.tgz", + "integrity": "sha512-eydcpR28qV3A3BwR5V6wsixoI1BRLA0SzFiwH/1ajrgX13inv+gV97gHv47Ojf/+YAZ3HqdVaUKFsUfMKwKieA==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/preview-api": "7.0.6" + "@storybook/client-logger": "7.0.7", + "@storybook/preview-api": "7.0.7" }, "funding": { "type": "opencollective", @@ -4724,13 +5080,13 @@ } }, "node_modules/@storybook/core-common": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.6.tgz", - "integrity": "sha512-vnrv7Wl2yqfl0BLda/57Ii2OgeSO5mVWgvy9WUER3xdEX6obLgEKqhq08U+dkp0pX8YEyjQgfe+rqyanEspLDQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.0.7.tgz", + "integrity": "sha512-c8T24wex9bnCYdZVZFNX4VV+wfhrp47OLzVONZDqxMhq6G//Bgv5zH4Awcx5UfWf/05VcP7KGF1VKj8ebRyEEA==", "dev": true, "dependencies": { - "@storybook/node-logger": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/node-logger": "7.0.7", + "@storybook/types": "7.0.7", "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", "chalk": "^4.1.0", @@ -4765,9 +5121,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==", + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==", "dev": true }, "node_modules/@storybook/core-common/node_modules/brace-expansion": { @@ -4830,9 +5186,9 @@ } }, "node_modules/@storybook/core-events": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.6.tgz", - "integrity": "sha512-kGrtjlYtjd4iTVk+Phb4CymZaVkB+MGscKAgcO8gfgJ/Q/gq8HQLVZSIzeoCDcDSHOGlBzbg2WVtdHIHhCKlOQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.0.7.tgz", + "integrity": "sha512-XNsR2RgaL2vBwuqsu+KA1DzGmB1UFfrAhpxhmyWTKDCniwtTLlaXgfKbqwcrOrPu/o1YswgIup/9UHepRHaf4A==", "dev": true, "funding": { "type": "opencollective", @@ -4840,25 +5196,25 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.0.6.tgz", - "integrity": "sha512-1y9qTcHGwdZrUBJ9RYYJqKESJ/nWDz+ngjVM+pSlVqk+kmgFAQ127OwJFtiD/wzrdiOnzVe1/1CctPESdwL2Fg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.0.7.tgz", + "integrity": "sha512-PB4zoClH7aKG4XeJhxx43iK9n/C9gctXubNN5DSN6thPm4UITOas+/q4N7AHbCPyRbcMyoW7M31KtpzZu4Fjew==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.88", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.0.6", - "@storybook/core-common": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/builder-manager": "7.0.7", + "@storybook/core-common": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.0.6", + "@storybook/csf-tools": "7.0.7", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.0.6", - "@storybook/node-logger": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/telemetry": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/manager": "7.0.7", + "@storybook/node-logger": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/telemetry": "7.0.7", + "@storybook/types": "7.0.7", "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", "@types/node-fetch": "^2.5.7", @@ -4894,9 +5250,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.23", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.23.tgz", - "integrity": "sha512-XAMpaw1s1+6zM+jn2tmw8MyaRDIJfXxqmIQIS0HfoGYPuf7dUWeiUKopwq13KFX9lEp1+THGtlaaYx39Nxr58g==", + "version": "16.18.24", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", + "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==", "dev": true }, "node_modules/@storybook/core-server/node_modules/lru-cache": { @@ -4942,12 +5298,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.0.6.tgz", - "integrity": "sha512-3NnqKcR2JQwvmT/aX1dCNNk7XS2hm9iP8lCwZxYT9KVIqDymA5mzEBMCH6y+eRYCmaCOAD9ITN+5xT4XoRMmSQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.0.7.tgz", + "integrity": "sha512-uhf2g077gXA6ZEMXIPQ0RnX+IoOTBJbj+6+VQfT7K5tvJeop1z0Fvk0FoknNXcUe7aUA0nzA/cUQ1v4vXqbY3Q==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.0.6", + "@storybook/csf-tools": "7.0.7", "unplugin": "^0.10.2" }, "funding": { @@ -4956,9 +5312,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.0.6.tgz", - "integrity": "sha512-xKOjuAlFuUOWO6JmhcEqUGTSGds9hbGSLYg0bh2BueWRvqhT3kvHqE4OKWmEfhfl4UDxIKbfEbJOxxVNni14gg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.0.7.tgz", + "integrity": "sha512-KbO5K2RS0oFm94eR49bAPvoyXY3Q6+ozvBek/F05RP7iAV790icQc59Xci9YDM1ONgb3afS+gSJGFBsE0h4pmg==", "dev": true, "dependencies": { "@babel/generator": "~7.21.1", @@ -4966,7 +5322,7 @@ "@babel/traverse": "~7.21.2", "@babel/types": "~7.21.2", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.0.6", + "@storybook/types": "7.0.7", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -4983,15 +5339,15 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.6.tgz", - "integrity": "sha512-A4zLn/lliVZwKwkiaiAXsyjeVfoAyixkDSBGYK+hGp6VVWVhYh1+TiWUZXQElnrh/xukxPTPSI/iuW+FbUUpfw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.0.7.tgz", + "integrity": "sha512-VB4Qa33DYNxXALWcXyDid246r9Q6SGM+Q+pGWOuEJsxRxDmrUspXHaHG0CO1NIjMWfbqpOoz61vquZO0GZoAAg==", "dev": true, "dependencies": { "@babel/core": "^7.12.10", - "@storybook/core-common": "7.0.6", - "@storybook/preview-api": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/core-common": "7.0.7", + "@storybook/preview-api": "7.0.7", + "@storybook/types": "7.0.7", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" @@ -5008,9 +5364,9 @@ "dev": true }, "node_modules/@storybook/manager": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.0.6.tgz", - "integrity": "sha512-idBnm56raTAjUdlaQjHQKCtsU2f0EiQpY1q0JOP81X18lN2QZAxVjgU5j17hQZwMQxp0nJFo8ERBAw0TiCvcZg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.0.7.tgz", + "integrity": "sha512-FhquwUpUOHsjZROf6E6kzUnJ6EmMeJ9b+HYg6yYPyIMYVMjAhnkRKbIj0phGx2lhgKFlmxik+3pgchK5SLdcZA==", "dev": true, "funding": { "type": "opencollective", @@ -5018,19 +5374,19 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.6.tgz", - "integrity": "sha512-u942CGr/CIJwyeZvLRofPL714YRXVToJXmiyOdFSyGYcC9EQWRRrTX0zg4ZrzvllD4aZe8HXIemqlLrRB+Bu+g==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.0.7.tgz", + "integrity": "sha512-QTd/P72peAhofKqK+8yzIO9iWAEfPn8WUGGveV2KGaTlSlgbr87RLHEKilcXMZcYhBWC9izFRmjKum9ROdskrQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/channels": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.0.6", - "@storybook/theming": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/router": "7.0.7", + "@storybook/theming": "7.0.7", + "@storybook/types": "7.0.7", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -5088,9 +5444,9 @@ "dev": true }, "node_modules/@storybook/node-logger": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.0.6.tgz", - "integrity": "sha512-719jP38S72w+dPqIxM9X8+voTmLAkseMktbTlPDJtMKd1br3NveHCpaJkZPCvqlYbZrqzkF1pAFwWVkQyCxbAA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.0.7.tgz", + "integrity": "sha512-5Y4LLgKeCStq1ktCKZ5eNPzQQSQ+CYZAlkEdzQ3Pp//0KXaZvVxEvGtaYhAymP2HatLpI8Oneo4lHrJioRfgww==", "dev": true, "dependencies": { "@types/npmlog": "^4.1.2", @@ -5104,9 +5460,9 @@ } }, "node_modules/@storybook/postinstall": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.0.6.tgz", - "integrity": "sha512-NDAA2I2LqDKXqnCMgnNNpwU87rNYmf5tjLg0MK9NFR79zSdjPryy+64oBWoNjGdub342Y9fyc3gTV7OIQdvH0Q==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.0.7.tgz", + "integrity": "sha512-APcZ2KaR7z1aJje3pID4Ywmt1/aVcP3Sc4ltzNdH9mCkEsuq0fZHHQrYSa9Ya1IPRmSeLZ5/23q1iyqmGU3zoQ==", "dev": true, "funding": { "type": "opencollective", @@ -5114,9 +5470,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.0.6.tgz", - "integrity": "sha512-swawfiqqSpHh2Jqt9hZUpdLpZyFzOB2uwj4vy9bhmep7sxnh81VbLBCrWrDjtcH5tC2TVVAQHYp3w8cHE94cSA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.0.7.tgz", + "integrity": "sha512-uL3ZcFao6UvxiSxCIcXKFakxEr9Nn0lvu0zzC2yQCVepzA7a+GDr1cK5VbZ6Mez38CnOvBmb5pkCbgRqSf/oug==", "dev": true, "funding": { "type": "opencollective", @@ -5124,18 +5480,18 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.6.tgz", - "integrity": "sha512-uNsedNyiEccBV2EDUC/xcKTbmiNCYuVHbgOoWTmBz0ZqFo9bX0jxkpyYWHEhJM79qqVqmrpiQ5jbS8QKn8TIxQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.0.7.tgz", + "integrity": "sha512-R5pmGTodpu6hbwEg2RM2ulWtW3d426YzsisHrZJ+FT9lecWauN1y9xHCz7HdNzEFhT8r4YOa24L9ZS3mosZ7hA==", "dev": true, "dependencies": { - "@storybook/channel-postmessage": "7.0.6", - "@storybook/channels": "7.0.6", - "@storybook/client-logger": "7.0.6", - "@storybook/core-events": "7.0.6", + "@storybook/channel-postmessage": "7.0.7", + "@storybook/channels": "7.0.7", + "@storybook/client-logger": "7.0.7", + "@storybook/core-events": "7.0.7", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.0.6", + "@storybook/types": "7.0.7", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -5151,18 +5507,18 @@ } }, "node_modules/@storybook/react": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.0.6.tgz", - "integrity": "sha512-9+FTRLspx5lZi1vWamwMRla4lJh6mygv6e01qxaav0pvyyG5nAloFLWYkfrf5Y8nWFpJxHT0YXt3hPjzgl1wHA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.0.7.tgz", + "integrity": "sha512-eEsIfAGumzo7KRi/WKFpn/PGFhwLv72oiEM/8l5MMX/6poIkiekunqJLfx2BoL4cCtiS4g7OYzOdWjN01DwVCg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/core-client": "7.0.6", - "@storybook/docs-tools": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/core-client": "7.0.7", + "@storybook/docs-tools": "7.0.7", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.0.6", - "@storybook/react-dom-shim": "7.0.6", - "@storybook/types": "7.0.6", + "@storybook/preview-api": "7.0.7", + "@storybook/react-dom-shim": "7.0.7", + "@storybook/types": "7.0.7", "@types/escodegen": "^0.0.6", "@types/estree": "^0.0.51", "@types/node": "^16.0.0", @@ -5196,9 +5552,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.0.6.tgz", - "integrity": "sha512-pmoyspsehnaSJGYXDXK4tJTyDRiWYsb5HDwmT/ZlB5iS0PEP2vB5ZAW0M6MZPCNq+rcyIhRzWpylgccJ8OJquQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.0.7.tgz", + "integrity": "sha512-INGwFeu9M+RzpvktSKuwy8Rk/70mXGqxxsb9lPtq7phmETvfpNX7GnLJqiVazTaQiB1DkB0iAPUsK2MNbBu+Kw==", "dev": true, "funding": { "type": "opencollective", @@ -5210,15 +5566,15 @@ } }, "node_modules/@storybook/react-vite": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.0.6.tgz", - "integrity": "sha512-kWX0JCi5mTRPrFyp80GEHqL2DdNACA5kzDSfLXEhrxnHaMqbpFFKA385ZTlgenC3quPGTFCSI+HxHHBwvNNCXA==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/react-vite/-/react-vite-7.0.7.tgz", + "integrity": "sha512-RuWfP/kiLpuHdcF9dWUUp9SOGMmO0FJ0HGV5yAOhGmi8KmTzvc8zjC+hJjj+sSgn2n71BO8pG/zqGl16FwfwVQ==", "dev": true, "dependencies": { "@joshwooding/vite-plugin-react-docgen-typescript": "0.2.1", "@rollup/pluginutils": "^4.2.0", - "@storybook/builder-vite": "7.0.6", - "@storybook/react": "7.0.6", + "@storybook/builder-vite": "7.0.7", + "@storybook/react": "7.0.7", "@vitejs/plugin-react": "^3.0.1", "ast-types": "^0.14.2", "magic-string": "^0.27.0", @@ -5263,12 +5619,12 @@ "dev": true }, "node_modules/@storybook/router": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.6.tgz", - "integrity": "sha512-JdqNMxybgugQc/qZ69YeFn81wvLGGGOTVfCbimE5RJbTu0BPH7vtfsrhhP1muumYBizrpNgkueYMfqmaz91zJw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.0.7.tgz", + "integrity": "sha512-/lM8/NHQKeshfnC3ayFuO8Y9TCSHnCAPRhIsVxvanBzcj+ILbCIyZ+TspvB3hT4MbX/Ez+JR8VrMbjXIGwmH8w==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", + "@storybook/client-logger": "7.0.7", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -5282,13 +5638,13 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.0.6.tgz", - "integrity": "sha512-hR9Fb0bxOHNqExQdlc/gmch0vDwCQZJs+O6znA4IF9wzCyjgk4vti7cptES5PZ/kIlh0ICL13yx7O+BxYjUE5Q==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.0.7.tgz", + "integrity": "sha512-Ka6pwWr3sWs3A/6WQ0wsoSYzXx3Mhr7eByNZZKuuCu9jnw3I8AbIOqQX2iOVzaQBLZsvXEeqvYY8iZ+GuRbbGQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.0.6", - "@storybook/core-common": "7.0.6", + "@storybook/client-logger": "7.0.7", + "@storybook/core-common": "7.0.7", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -5303,13 +5659,13 @@ } }, "node_modules/@storybook/theming": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.6.tgz", - "integrity": "sha512-EVN3cA9Z2odkPdUgKNTJTEa5i1H2EJzGDAh/b3GLDQgIPOBD6/ynQIB+e2TmJUFflIyRTuDZJrhcf33U6J9Pww==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.0.7.tgz", + "integrity": "sha512-InTZe+Sgco1NsxgiG+cyUKWQe3GsjlIyU/o5qDdtOTXcZ64HzyBuAZlAequSddqfDeMDqxRFPc2w1J28MAUHxA==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.0.6", + "@storybook/client-logger": "7.0.7", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -5323,12 +5679,12 @@ } }, "node_modules/@storybook/types": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.6.tgz", - "integrity": "sha512-dFASQxzvldU2Nx/eJG+oL4wCchUWAKOmOSYJYhKgtGpx99oXOiWUyC0SgCpTveBJ7AppoiseyasQ9Gd/Ccycdw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.0.7.tgz", + "integrity": "sha512-v9piuwp8FvTiHXIOOi5lEyTEJKhnbcbhVxgJ3VFhhXYFd0DTz6Bst0XIIgkgs21ITb3xhkfPbCRUueMcbXO1MA==", "dev": true, "dependencies": { - "@storybook/channels": "7.0.6", + "@storybook/channels": "7.0.7", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "^2.0.0" @@ -5338,6 +5694,27 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@tabler/icons": { + "version": "1.119.0", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-1.119.0.tgz", + "integrity": "sha512-Fk3Qq4w2SXcTjc/n1cuL5bccPkylrOMo7cYpQIf/yw6zP76LQV9dtLcHQUjFiUnaYuswR645CnURIhlafyAh9g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/codecalm" + }, + "peerDependencies": { + "react": "^16.x || 17.x || 18.x", + "react-dom": "^16.x || 17.x || 18.x" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -5589,9 +5966,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.16.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.0.tgz", - "integrity": "sha512-BsAaKhB+7X+H4GnSjGhJG9Qi8Tw+inU9nJDwmD5CgOmBLEI6ArdhikpLX7DjbjDRDTbqZzU2LSQNZg8WGPiSZQ==", + "version": "18.16.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.1.tgz", + "integrity": "sha512-DZxSZWXxFfOlx7k7Rv4LAyiMroaxa3Ly/7OOzZO8cBNho0YzAi4qlbrx8W27JGqG57IgR/6J7r+nOJWw6kcvZA==", "dev": true }, "node_modules/@types/node-fetch": { @@ -5619,8 +5996,7 @@ "node_modules/@types/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "node_modules/@types/pretty-hrtime": { "version": "1.0.1", @@ -5632,7 +6008,7 @@ "version": "15.7.5", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", - "dev": true + "devOptional": true }, "node_modules/@types/qs": { "version": "6.9.7", @@ -5647,10 +6023,10 @@ "dev": true }, "node_modules/@types/react": { - "version": "18.0.37", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.37.tgz", - "integrity": "sha512-4yaZZtkRN3ZIQD3KSEwkfcik8s0SWV+82dlJot1AbGYHCzJkWP3ENBY6wYeDRmKZ6HkrgoGAmR2HqdwYGp6OEw==", - "dev": true, + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.0.tgz", + "integrity": "sha512-0FLj93y5USLHdnhIhABk83rm8XEGA7kH3cr+YUlvxoUGp1xNt/DINUMvqPxLyOQMzLmZe8i4RTHbvb8MC7NmrA==", + "devOptional": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -5658,9 +6034,9 @@ } }, "node_modules/@types/react-dom": { - "version": "18.0.11", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", - "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.1.tgz", + "integrity": "sha512-8QZEV9+Kwy7tXFmjJrp3XUKQSs9LTnE0KnoUb0YCguWBiNW0Yfb2iBMYZ08WPg35IR6P3Z0s00B15SwZnO26+w==", "dev": true, "dependencies": { "@types/react": "*" @@ -5679,7 +6055,7 @@ "version": "0.16.3", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", - "dev": true + "devOptional": true }, "node_modules/@types/semver": { "version": "7.3.13", @@ -6056,22 +6432,22 @@ } }, "node_modules/@urql/core": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@urql/core/-/core-4.0.6.tgz", - "integrity": "sha512-RxlX5nxWZsvS1lPCvOdgdYbIVVfih/DrjPzGZ0ThP1GuVycaxw5t0O7XEXXYHICeXNKj95HJBxW0o/37zg+z6Q==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@urql/core/-/core-4.0.7.tgz", + "integrity": "sha512-UtZ9oSbSFODXzFydgLCXpAQz26KGT1d6uEfcylKphiRWNXSWZi8k7vhJXNceNm/Dn0MiZ+kaaJHKcnGY1jvHRQ==", "dependencies": { - "@0no-co/graphql.web": "^1.0.0", - "wonka": "^6.3.0" + "@0no-co/graphql.web": "^1.0.1", + "wonka": "^6.3.2" } }, "node_modules/@urql/exchange-graphcache": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@urql/exchange-graphcache/-/exchange-graphcache-6.0.2.tgz", - "integrity": "sha512-j6P02Nyv05NG2URTT/JtonuQQsxKImt1QMyjkb732yjKCI8A+5b5Myh8bnNUw428bIUFYx2oE7OfuB45+ta/CQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@urql/exchange-graphcache/-/exchange-graphcache-6.0.3.tgz", + "integrity": "sha512-1/MBAcl6D3/dwBCt5gvzNJwDIyNWntgcQnRjLsB6Yi6iCK9+ziVtbY6qS16DG1/Lg/WSVUTaM8LexaMfbShzHg==", "dependencies": { - "@0no-co/graphql.web": "^1.0.0", + "@0no-co/graphql.web": "^1.0.1", "@urql/core": ">=4.0.0", - "wonka": "^6.3.0" + "wonka": "^6.3.2" } }, "node_modules/@urql/introspection": { @@ -6467,6 +6843,17 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", @@ -6581,6 +6968,14 @@ "node": ">=0.10.0" } }, + "node_modules/as-table": { + "version": "1.0.55", + "resolved": "https://registry.npmjs.org/as-table/-/as-table-1.0.55.tgz", + "integrity": "sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==", + "dependencies": { + "printable-characters": "^1.0.42" + } + }, "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", @@ -6771,7 +7166,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "dev": true, "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -7311,7 +7705,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -7659,6 +8052,14 @@ "node": ">=0.10.0" } }, + "node_modules/clsx": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.1.1.tgz", + "integrity": "sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -7941,8 +8342,7 @@ "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, "node_modules/cookie": { "version": "0.5.0", @@ -7959,6 +8359,20 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, + "node_modules/copy-anything": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-3.0.3.tgz", + "integrity": "sha512-fpW2W/BqEzqPp29QS+MwwfisHCQZtiduTe/m8idFo0xbti9fIZ2WVhAsCv4ggFVH3AgCkVdpoOCtQC6gBrdhjw==", + "dependencies": { + "is-what": "^4.1.8" + }, + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/core-js-compat": { "version": "3.30.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz", @@ -7982,7 +8396,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "dev": true, "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -8061,8 +8474,7 @@ "node_modules/csstype": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", - "dev": true + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/damerau-levenshtein": { "version": "1.0.8", @@ -8070,6 +8482,11 @@ "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", "dev": true }, + "node_modules/data-uri-to-buffer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz", + "integrity": "sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==" + }, "node_modules/dataloader": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz", @@ -8320,6 +8737,11 @@ "node": ">=8" } }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, "node_modules/detect-package-manager": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", @@ -8534,7 +8956,6 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, "dependencies": { "is-arrayish": "^0.2.1" } @@ -8733,7 +9154,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, "engines": { "node": ">=10" }, @@ -8764,15 +9184,15 @@ } }, "node_modules/eslint": { - "version": "8.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz", - "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==", + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.38.0", + "@eslint/js": "8.39.0", "@humanwhocodes/config-array": "^0.11.8", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", @@ -8782,7 +9202,7 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", + "eslint-scope": "^7.2.0", "eslint-visitor-keys": "^3.4.0", "espree": "^9.5.1", "esquery": "^1.4.2", @@ -9644,9 +10064,9 @@ } }, "node_modules/file-system-cache": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.1.0.tgz", - "integrity": "sha512-DYsIRzIwnZFOfVwux4Wd7GqvXy63jN9HGfA7Mjlh9c/UsECJpNKwgXU24f3JNZ6phkbvRWOHBp+DWG1MVbGYWw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.1.1.tgz", + "integrity": "sha512-vgZ1uDsK29DM4pptUOv47zdJO2tYM5M/ERyAE9Jk0QBN6e64Md+a+xJSOp68dCCDH4niFMVD8nC8n8A5ic0bmg==", "dev": true, "dependencies": { "fs-extra": "^11.1.0", @@ -9809,6 +10229,11 @@ "node": ">=8" } }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -9845,9 +10270,9 @@ "dev": true }, "node_modules/flow-parser": { - "version": "0.204.0", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.204.0.tgz", - "integrity": "sha512-cQhNPLOk5NFyDXBC8WE8dy2Gls+YqKI3FNqQbJ7UrbFyd30IdEX3t27u3VsnoVK22I872+PWeb1KhHxDgu7kAg==", + "version": "0.204.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.204.1.tgz", + "integrity": "sha512-PoeSF0VhSORn3hYzD/NxsQjXX1iLU0UZXzVwZXnRWjeVsedmvDo4epd7PtCQjxveGajmVlyVW35BOOOkqLqJpw==", "dev": true, "engines": { "node": ">=0.4.0" @@ -9993,8 +10418,7 @@ "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "node_modules/function.prototype.name": { "version": "1.1.5", @@ -10084,6 +10508,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, "node_modules/get-npm-tarball-url": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.0.3.tgz", @@ -10114,6 +10546,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-source": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/get-source/-/get-source-2.0.12.tgz", + "integrity": "sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==", + "dependencies": { + "data-uri-to-buffer": "^2.0.0", + "source-map": "^0.6.1" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -10463,7 +10904,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, "dependencies": { "function-bind": "^1.1.1" }, @@ -10556,6 +10996,14 @@ "tslib": "^2.0.3" } }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, "node_modules/hosted-git-info": { "version": "2.8.9", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", @@ -10686,7 +11134,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -10702,7 +11149,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, "engines": { "node": ">=4" } @@ -10806,7 +11252,6 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "dependencies": { "loose-envify": "^1.0.0" } @@ -10881,8 +11326,7 @@ "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-bigint": { "version": "1.0.4", @@ -10940,7 +11384,6 @@ "version": "2.12.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -11321,6 +11764,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-what": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-4.1.8.tgz", + "integrity": "sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==", + "engines": { + "node": ">=12.13" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, "node_modules/is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -11567,6 +12021,30 @@ } } }, + "node_modules/jotai-devtools": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/jotai-devtools/-/jotai-devtools-0.4.0.tgz", + "integrity": "sha512-+89nJDcfHk6QeXpOYGpLVWN/FIHcLwKyawEDqXSDWT9+1GVdkghTtb9w37TwG/VVQpb30GvaKDH7V8m7C9d9+w==", + "dependencies": { + "@mantine/core": "^6.0.4", + "@mantine/hooks": "^6.0.4", + "@mantine/prism": "^6.0.4", + "@redux-devtools/extension": "^3.2.5", + "@tabler/icons": "^1.119.0", + "react-error-boundary": "^3.1.4", + "react-resizable-panels": "^0.0.37", + "stacktracey": "^2.1.8", + "superjson": "^1.12.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "@emotion/react": ">=11.0.0", + "jotai": ">=1.11.0", + "react": ">=17.0.0" + } + }, "node_modules/jotai-location": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/jotai-location/-/jotai-location-0.5.1.tgz", @@ -11706,8 +12184,7 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -11879,8 +12356,7 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "node_modules/listr2": { "version": "4.0.5", @@ -12981,7 +13457,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, "dependencies": { "callsites": "^3.0.0" }, @@ -13007,7 +13482,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -13080,8 +13554,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-root": { "version": "0.1.1", @@ -13114,7 +13587,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, "engines": { "node": ">=8" } @@ -13251,9 +13723,9 @@ } }, "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", @@ -13261,7 +13733,7 @@ "resolve": "^1.1.7" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "postcss": "^8.0.0" @@ -13287,16 +13759,16 @@ } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dev": true, "dependencies": { "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "yaml": "^2.1.1" }, "engines": { - "node": ">= 10" + "node": ">= 14" }, "funding": { "type": "opencollective", @@ -13315,13 +13787,22 @@ } } }, + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.2.2.tgz", + "integrity": "sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.11" }, "engines": { "node": ">=12.0" @@ -13430,6 +13911,19 @@ "node": ">= 0.8" } }, + "node_modules/printable-characters": { + "version": "1.0.42", + "resolved": "https://registry.npmjs.org/printable-characters/-/printable-characters-1.0.42.tgz", + "integrity": "sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==" + }, + "node_modules/prism-react-renderer": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz", + "integrity": "sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==", + "peerDependencies": { + "react": ">=0.14.9" + } + }, "node_modules/process": { "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", @@ -13672,18 +14166,6 @@ } ] }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ramda": { "version": "0.28.0", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.28.0.tgz", @@ -13805,6 +14287,21 @@ "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", "dev": true }, + "node_modules/react-error-boundary": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz", + "integrity": "sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==", + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "react": ">=16.13.1" + } + }, "node_modules/react-inspector": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-6.0.1.tgz", @@ -13817,8 +14314,7 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-refresh": { "version": "0.14.0", @@ -13829,6 +14325,60 @@ "node": ">=0.10.0" } }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-resizable-panels": { + "version": "0.0.37", + "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-0.0.37.tgz", + "integrity": "sha512-8aTW4xyd/TZfsiDi84OUUJvbepjcC46I/RZyveXsauL12IzyygsxhfY60YghKKhmeglQ6OJq41LKIlgMTntZOQ==", + "peerDependencies": { + "react": "^16.14.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-shallow-renderer": { "version": "16.15.0", "resolved": "https://registry.npmjs.org/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz", @@ -13842,6 +14392,28 @@ "react": "^16.0.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/react-test-renderer": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-18.2.0.tgz", @@ -13862,6 +14434,22 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", "dev": true }, + "node_modules/react-textarea-autosize": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz", + "integrity": "sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==", + "dependencies": { + "@babel/runtime": "^7.10.2", + "use-composed-ref": "^1.3.0", + "use-latest": "^1.2.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/read-cache": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", @@ -14039,6 +14627,15 @@ "node": ">= 0.10" } }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -14060,8 +14657,7 @@ "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regenerator-transform": { "version": "0.15.1", @@ -14210,7 +14806,6 @@ "version": "1.22.2", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, "dependencies": { "is-core-module": "^2.11.0", "path-parse": "^1.0.7", @@ -14277,9 +14872,9 @@ } }, "node_modules/rollup": { - "version": "3.20.6", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.6.tgz", - "integrity": "sha512-2yEB3nQXp/tBQDN0hJScJQheXdvU2wFhh6ld7K/aiZ1vYcak6N/BKjY1QrU6BvO2JWYS8bEs14FRaxXosxy2zw==", + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.0.tgz", + "integrity": "sha512-ANPhVcyeHvYdQMUyCbczy33nbLzI7RzrBje4uvNiTDJGIMtlKoOStmympwr9OtS1LZxiDmE2wvxHyVhoLtf1KQ==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -14668,7 +15263,6 @@ "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" } @@ -14755,6 +15349,15 @@ "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", "dev": true }, + "node_modules/stacktracey": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/stacktracey/-/stacktracey-2.1.8.tgz", + "integrity": "sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==", + "dependencies": { + "as-table": "^1.0.36", + "get-source": "^2.0.12" + } + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -14789,12 +15392,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.0.6.tgz", - "integrity": "sha512-dhl+5jbPf6sT/cQxePxXM4T6AGJ0EtdSUTZmdOA7LA6P5C55Wc+GqPdIAh7RqZoMJdNNhXBeHHtCoYZev7uPxw==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.0.7.tgz", + "integrity": "sha512-MaFAhpPm/KsaoIQfGzapnRyXNh1VbS8l38BNZR5ZD97ejGkLukJ7TO4fFS87Hyy6whAXo6tTdtqeCByMQ9gRFA==", "dev": true, "dependencies": { - "@storybook/cli": "7.0.6" + "@storybook/cli": "7.0.7" }, "bin": { "sb": "index.js", @@ -15003,6 +15606,11 @@ "node": ">=0.4.0" } }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, "node_modules/sucrase": { "version": "3.32.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", @@ -15054,6 +15662,17 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/superjson": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-1.12.3.tgz", + "integrity": "sha512-0j+U70KUtP8+roVPbwfqkyQI7lBt7ETnuA7KXbTDX3mCKiD/4fXs2ldKSMdt0MCfpTwiMxo20yFU3vu6ewETpQ==", + "dependencies": { + "copy-anything": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -15070,7 +15689,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -15093,46 +15711,47 @@ "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", "dev": true }, + "node_modules/tabbable": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.1.tgz", + "integrity": "sha512-4kl5w+nCB44EVRdO0g/UGoOp3vlwgycUVtkk/7DPyeLZUCuNFFKCFG6/t/DgHLrUPHjrZg6s5tNm+56Q2B0xyg==" + }, "node_modules/tailwindcss": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz", - "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", "dev": true, "dependencies": { + "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", - "color-name": "^1.1.4", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.2.12", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.17.2", - "lilconfig": "^2.0.6", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1", - "sucrase": "^3.29.0" + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=14.0.0" } }, "node_modules/tar": { @@ -15434,7 +16053,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, "engines": { "node": ">=4" } @@ -15514,8 +16132,7 @@ "node_modules/tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "dev": true + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -15926,6 +16543,63 @@ "braces": "^3.0.2" } }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-composed-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-composed-ref/-/use-composed-ref-1.3.0.tgz", + "integrity": "sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/use-isomorphic-layout-effect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz", + "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-latest": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/use-latest/-/use-latest-1.2.1.tgz", + "integrity": "sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==", + "dependencies": { + "use-isomorphic-layout-effect": "^1.1.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/use-resize-observer": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz", @@ -15939,6 +16613,27 @@ "react-dom": "16.8.0 - 18" } }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", @@ -15967,11 +16662,14 @@ "node": ">= 0.4.0" } }, - "node_modules/uuid-browser": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/uuid-browser/-/uuid-browser-3.1.0.tgz", - "integrity": "sha512-dsNgbLaTrd6l3MMxTtouOCFw4CBFc/3a+GgYA2YyrJvyQ1u6q4pcu3ktLoUZ/VN/Aw9WsauazbgsgdfVWgAKQg==", - "dev": true + "node_modules/uuid": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz", + "integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } }, "node_modules/v8-to-istanbul": { "version": "9.1.0", @@ -16016,14 +16714,14 @@ } }, "node_modules/vite": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz", - "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.2.tgz", + "integrity": "sha512-9R53Mf+TBoXCYejcL+qFbZde+eZveQLDYd9XgULILLC1a5ZwPaqgmdVpL8/uvw2BM/1TzetWjglwm+3RO+xTyw==", "dev": true, "dependencies": { "esbuild": "^0.17.5", "postcss": "^8.4.21", - "rollup": "^3.20.2" + "rollup": "^3.21.0" }, "bin": { "vite": "bin/vite.js" @@ -16379,9 +17077,9 @@ } }, "node_modules/which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", "dev": true }, "node_modules/which-typed-array": { @@ -16442,9 +17140,9 @@ } }, "node_modules/wonka": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.1.tgz", - "integrity": "sha512-nJyGPcjuBiaLFn8QAlrHd+QjV9AlPO7snOWAhgx6aX0nQLMV6Wi0nqfrkmsXIH0efngbDOroOz2QyLnZMF16Hw==" + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.2.tgz", + "integrity": "sha512-2xXbQ1LnwNS7egVm1HPhW2FyKrekolzhpM3mCwXdQr55gO+tAiY76rhb32OL9kKsW8taj++iP7C6hxlVzbnvrw==" }, "node_modules/word-wrap": { "version": "1.2.3", @@ -16546,7 +17244,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, "engines": { "node": ">= 6" } diff --git a/frontend/package.json b/frontend/package.json index 26bb74de..0e9ad742 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -16,11 +16,13 @@ "build-storybook": "storybook build" }, "dependencies": { - "@urql/core": "^4.0.6", - "@urql/exchange-graphcache": "^6.0.2", + "@emotion/react": "^11.10.6", + "@urql/core": "^4.0.7", + "@urql/exchange-graphcache": "^6.0.3", "date-fns": "^2.29.3", "graphql": "^16.6.0", "jotai": "^2.0.4", + "jotai-devtools": "^0.4.0", "jotai-location": "^0.5.1", "jotai-urql": "^0.7.1", "react": "^18.2.0", @@ -28,38 +30,38 @@ }, "devDependencies": { "@graphql-codegen/cli": "^3.3.1", - "@graphql-codegen/client-preset": "^3.0.0", + "@graphql-codegen/client-preset": "^3.0.1", "@graphql-codegen/urql-introspection": "^2.2.1", "@graphql-eslint/eslint-plugin": "^3.18.0", - "@storybook/addon-actions": "^7.0.6", - "@storybook/addon-backgrounds": "^7.0.6", - "@storybook/addon-controls": "^7.0.6", - "@storybook/addon-docs": "^7.0.6", - "@storybook/addon-essentials": "^7.0.6", - "@storybook/addon-measure": "^7.0.6", - "@storybook/addon-outline": "^7.0.6", - "@storybook/addon-toolbars": "^7.0.6", - "@storybook/addon-viewport": "^7.0.6", - "@storybook/react": "^7.0.6", - "@storybook/react-vite": "^7.0.6", - "@types/node": "^18.16.0", - "@types/react": "^18.0.37", - "@types/react-dom": "^18.0.11", + "@storybook/addon-actions": "^7.0.7", + "@storybook/addon-backgrounds": "^7.0.7", + "@storybook/addon-controls": "^7.0.7", + "@storybook/addon-docs": "^7.0.7", + "@storybook/addon-essentials": "^7.0.7", + "@storybook/addon-measure": "^7.0.7", + "@storybook/addon-outline": "^7.0.7", + "@storybook/addon-toolbars": "^7.0.7", + "@storybook/addon-viewport": "^7.0.7", + "@storybook/react": "^7.0.7", + "@storybook/react-vite": "^7.0.7", + "@types/node": "^18.16.1", + "@types/react": "^18.2.0", + "@types/react-dom": "^18.2.1", "@types/react-test-renderer": "^18.0.0", "@vitejs/plugin-react": "^4.0.0", "@vitest/coverage-c8": "^0.30.1", "autoprefixer": "^10.4.14", - "eslint": "^8.38.0", + "eslint": "^8.39.0", "eslint-config-prettier": "^8.8.0", "eslint-config-react-app": "^7.0.1", "eslint-plugin-prettier": "^4.2.1", "postcss": "^8.4.23", "prettier": "^2.8.8", "react-test-renderer": "^18.2.0", - "storybook": "^7.0.6", - "tailwindcss": "^3.3.1", + "storybook": "^7.0.7", + "tailwindcss": "^3.3.2", "typescript": "^5.0.4", - "vite": "^4.3.1", + "vite": "^4.3.2", "vite-plugin-eslint": "^1.8.1", "vite-plugin-graphql-codegen": "^3.2.0", "vitest": "^0.30.1" diff --git a/frontend/src/Router.tsx b/frontend/src/Router.tsx index c199cd5f..c1026633 100644 --- a/frontend/src/Router.tsx +++ b/frontend/src/Router.tsx @@ -25,14 +25,14 @@ type Location = { }; type HomeRoute = { type: "home" }; -type DumbRoute = { type: "dumb" }; +type AccountRoute = { type: "account" }; type OAuth2ClientRoute = { type: "client"; id: string }; type BrowserSessionRoute = { type: "session"; id: string }; type UnknownRoute = { type: "unknown"; segments: string[] }; export type Route = | HomeRoute - | DumbRoute + | AccountRoute | OAuth2ClientRoute | BrowserSessionRoute | UnknownRoute; @@ -41,8 +41,8 @@ const routeToSegments = (route: Route): string[] => { switch (route.type) { case "home": return []; - case "dumb": - return ["dumb"]; + case "account": + return ["account"]; case "client": return ["client", route.id]; case "session": @@ -57,8 +57,8 @@ const segmentsToRoute = (segments: string[]): Route => { return { type: "home" }; } - if (segments.length === 1 && segments[0] === "dumb") { - return { type: "dumb" }; + if (segments.length === 1 && segments[0] === "account") { + return { type: "account" }; } if (segments.length === 2 && segments[0] === "client") { @@ -105,6 +105,7 @@ export const routeAtom = atom( ); const Home = lazy(() => import("./pages/Home")); +const Account = lazy(() => import("./pages/Account")); const OAuth2Client = lazy(() => import("./pages/OAuth2Client")); const BrowserSession = lazy(() => import("./pages/BrowserSession")); @@ -114,12 +115,12 @@ const InnerRouter: React.FC = () => { switch (route.type) { case "home": return ; + case "account": + return ; case "client": return ; case "session": return ; - case "dumb": - return <>Dumb route.; case "unknown": return <>Unknown route {JSON.stringify(route.segments)}; } diff --git a/frontend/src/components/AddEmailForm.tsx b/frontend/src/components/AddEmailForm.tsx new file mode 100644 index 00000000..468f9a93 --- /dev/null +++ b/frontend/src/components/AddEmailForm.tsx @@ -0,0 +1,88 @@ +// Copyright 2023 The Matrix.org Foundation C.I.C. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import React, { useRef, useTransition } from "react"; +import { atomWithMutation } from "jotai-urql"; +import { useAtom } from "jotai"; +import { graphql } from "../gql"; +import Button from "./Button"; +import UserEmail from "./UserEmail"; +import Input from "./Input"; +import Typography from "./Typography"; + +const ADD_EMAIL_MUTATION = graphql(/* GraphQL */ ` + mutation AddEmail($userId: ID!, $email: String!) { + addEmail(input: { userId: $userId, email: $email }) { + status + email { + id + ...UserEmail_email + } + } + } +`); + +const addUserEmailAtom = atomWithMutation(ADD_EMAIL_MUTATION); + +const AddEmailForm: React.FC<{ userId: string }> = ({ userId }) => { + const formRef = useRef(null); + const [addEmailResult, addEmail] = useAtom(addUserEmailAtom); + const [pending, startTransition] = useTransition(); + + const handleSubmit = (e: React.FormEvent) => { + e.preventDefault(); + const email = e.currentTarget.email.value; + startTransition(() => { + addEmail({ userId, email }).then(() => { + if (formRef.current) { + formRef.current.reset(); + } + }); + }); + }; + + return ( + <> + {addEmailResult.data?.addEmail.status === "ADDED" && ( + <> +
+ Email added! +
+ + + )} + {addEmailResult.data?.addEmail.status === "EXISTS" && ( + <> +
+ Email already exists! +
+ + + )} +
+ + +
+ + ); +}; + +export default AddEmailForm; diff --git a/frontend/src/components/Button.tsx b/frontend/src/components/Button.tsx index 2c08d829..e8b370fc 100644 --- a/frontend/src/components/Button.tsx +++ b/frontend/src/components/Button.tsx @@ -19,11 +19,14 @@ type Props = { /** Makes the button more compact */ compact?: boolean; - /** Uses the 'ghotst' (outline) alternative */ + /** Uses the 'ghost' (outline) alternative */ ghost?: boolean; /** Disables all interactions with the button */ disabled?: boolean; + + /** The type of the button */ + type?: "button" | "submit" | "reset"; } & React.HTMLProps; const Button: React.FC = ({ @@ -31,12 +34,13 @@ const Button: React.FC = ({ compact, ghost, disabled, + type, ...props }) => { const sizeClass = compact ? "py-1 px-3" : "py-1 px-5"; - let ghostClass = ""; - let normalClass = ""; + let ghostClass; + let normalClass; if (disabled) { ghostClass = "opacity-30 border border-accent text-accent"; @@ -52,7 +56,7 @@ const Button: React.FC = ({ return ( + )} + + ); +}; + +export default UserEmailList; diff --git a/frontend/src/gql/gql.ts b/frontend/src/gql/gql.ts index 62d41626..8c008a7e 100644 --- a/frontend/src/gql/gql.ts +++ b/frontend/src/gql/gql.ts @@ -1,6 +1,6 @@ /* eslint-disable */ -import * as types from './graphql'; -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; +import * as types from "./graphql"; +import { TypedDocumentNode as DocumentNode } from "@graphql-typed-document-node/core"; /** * Map of all GraphQL operations in the project. @@ -13,15 +13,34 @@ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/ * Therefore it is highly recommended to use the babel or swc plugin for production. */ const documents = { - "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n": types.BrowserSession_SessionFragmentDoc, - "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n": types.BrowserSessionList_UserFragmentDoc, - "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n": types.CompatSsoLogin_LoginFragmentDoc, - "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n": types.CompatSsoLoginList_UserFragmentDoc, - "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n": types.OAuth2Session_SessionFragmentDoc, - "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n": types.OAuth2SessionList_UserFragmentDoc, - "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n": types.BrowserSessionQueryDocument, - "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n": types.HomeQueryDocument, - "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n": types.OAuth2ClientQueryDocument, + "\n mutation AddEmail($userId: ID!, $email: String!) {\n addEmail(input: { userId: $userId, email: $email }) {\n status\n email {\n id\n ...UserEmail_email\n }\n }\n }\n": + types.AddEmailDocument, + "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n": + types.BrowserSession_SessionFragmentDoc, + "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n": + types.BrowserSessionList_UserFragmentDoc, + "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n": + types.CompatSsoLogin_LoginFragmentDoc, + "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n": + types.CompatSsoLoginList_UserFragmentDoc, + "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n": + types.OAuth2Session_SessionFragmentDoc, + "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n": + types.OAuth2SessionList_UserFragmentDoc, + "\n fragment UserEmail_email on UserEmail {\n id\n email\n createdAt\n confirmedAt\n }\n": + types.UserEmail_EmailFragmentDoc, + "\n query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {\n user(id: $userId) {\n id\n emails(first: $first, after: $after) {\n edges {\n cursor\n node {\n id\n ...UserEmail_email\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n": + types.UserEmailListQueryDocument, + "\n query CurrentUserQuery {\n viewer {\n ... on User {\n __typename\n id\n }\n }\n }\n": + types.CurrentUserQueryDocument, + "\n query AccountQuery($id: ID!) {\n user(id: $id) {\n id\n username\n }\n }\n": + types.AccountQueryDocument, + "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n": + types.BrowserSessionQueryDocument, + "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n": + types.HomeQueryDocument, + "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n": + types.OAuth2ClientQueryDocument, }; /** @@ -41,42 +60,91 @@ export function graphql(source: string): unknown; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"): (typeof documents)["\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"]; +export function graphql( + source: "\n mutation AddEmail($userId: ID!, $email: String!) {\n addEmail(input: { userId: $userId, email: $email }) {\n status\n email {\n id\n ...UserEmail_email\n }\n }\n }\n" +): (typeof documents)["\n mutation AddEmail($userId: ID!, $email: String!) {\n addEmail(input: { userId: $userId, email: $email }) {\n status\n email {\n id\n ...UserEmail_email\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"): (typeof documents)["\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"]; +export function graphql( + source: "\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n" +): (typeof documents)["\n fragment BrowserSession_session on BrowserSession {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"): (typeof documents)["\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"]; +export function graphql( + source: "\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n" +): (typeof documents)["\n fragment BrowserSessionList_user on User {\n browserSessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...BrowserSession_session\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"): (typeof documents)["\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"]; +export function graphql( + source: "\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n" +): (typeof documents)["\n fragment CompatSsoLogin_login on CompatSsoLogin {\n id\n redirectUri\n createdAt\n session {\n id\n createdAt\n deviceId\n finishedAt\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"): (typeof documents)["\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"]; +export function graphql( + source: "\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n" +): (typeof documents)["\n fragment CompatSsoLoginList_user on User {\n compatSsoLogins(first: $count, after: $cursor) {\n edges {\n node {\n id\n ...CompatSsoLogin_login\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"): (typeof documents)["\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"]; +export function graphql( + source: "\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n" +): (typeof documents)["\n fragment OAuth2Session_session on Oauth2Session {\n id\n scope\n client {\n id\n clientId\n clientName\n clientUri\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"): (typeof documents)["\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"]; +export function graphql( + source: "\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n" +): (typeof documents)["\n fragment OAuth2SessionList_user on User {\n oauth2Sessions(first: $count, after: $cursor) {\n edges {\n cursor\n node {\n id\n ...OAuth2Session_session\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"): (typeof documents)["\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"]; +export function graphql( + source: "\n fragment UserEmail_email on UserEmail {\n id\n email\n createdAt\n confirmedAt\n }\n" +): (typeof documents)["\n fragment UserEmail_email on UserEmail {\n id\n email\n createdAt\n confirmedAt\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"): (typeof documents)["\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"]; +export function graphql( + source: "\n query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {\n user(id: $userId) {\n id\n emails(first: $first, after: $after) {\n edges {\n cursor\n node {\n id\n ...UserEmail_email\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n" +): (typeof documents)["\n query UserEmailListQuery($userId: ID!, $first: Int!, $after: String) {\n user(id: $userId) {\n id\n emails(first: $first, after: $after) {\n edges {\n cursor\n node {\n id\n ...UserEmail_email\n }\n }\n pageInfo {\n hasNextPage\n endCursor\n }\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql( + source: "\n query CurrentUserQuery {\n viewer {\n ... on User {\n __typename\n id\n }\n }\n }\n" +): (typeof documents)["\n query CurrentUserQuery {\n viewer {\n ... on User {\n __typename\n id\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql( + source: "\n query AccountQuery($id: ID!) {\n user(id: $id) {\n id\n username\n }\n }\n" +): (typeof documents)["\n query AccountQuery($id: ID!) {\n user(id: $id) {\n id\n username\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql( + source: "\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n" +): (typeof documents)["\n query BrowserSessionQuery($id: ID!) {\n browserSession(id: $id) {\n id\n createdAt\n lastAuthentication {\n id\n createdAt\n }\n user {\n id\n username\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql( + source: "\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n" +): (typeof documents)["\n query HomeQuery($count: Int!, $cursor: String) {\n # eslint-disable-next-line @graphql-eslint/no-deprecated\n currentBrowserSession {\n id\n user {\n id\n username\n\n ...CompatSsoLoginList_user\n ...BrowserSessionList_user\n ...OAuth2SessionList_user\n }\n }\n }\n"]; +/** + * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. + */ +export function graphql( + source: "\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n" +): (typeof documents)["\n query OAuth2ClientQuery($id: ID!) {\n oauth2Client(id: $id) {\n id\n clientId\n clientName\n clientUri\n tosUri\n policyUri\n redirectUris\n }\n }\n"]; export function graphql(source: string) { return (documents as any)[source] ?? {}; } -export type DocumentType> = TDocumentNode extends DocumentNode< infer TType, any> ? TType : never; \ No newline at end of file +export type DocumentType> = + TDocumentNode extends DocumentNode ? TType : never; diff --git a/frontend/src/gql/graphql.ts b/frontend/src/gql/graphql.ts index 7cec3f71..d9ae854b 100644 --- a/frontend/src/gql/graphql.ts +++ b/frontend/src/gql/graphql.ts @@ -1,10 +1,16 @@ /* eslint-disable */ -import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core'; +import { TypedDocumentNode as DocumentNode } from "@graphql-typed-document-node/core"; export type Maybe = T | null; export type InputMaybe = Maybe; -export type Exact = { [K in keyof T]: T[K] }; -export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; -export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type Exact = { + [K in keyof T]: T[K]; +}; +export type MakeOptional = Omit & { + [SubKey in K]?: Maybe; +}; +export type MakeMaybe = Omit & { + [SubKey in K]: Maybe; +}; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -25,14 +31,14 @@ export type Scalars = { /** The input for the `addEmail` mutation */ export type AddEmailInput = { /** The email address to add */ - email: Scalars['String']; + email: Scalars["String"]; /** The ID of the user to add the email address to */ - userId: Scalars['ID']; + userId: Scalars["ID"]; }; /** The payload of the `addEmail` mutation */ export type AddEmailPayload = { - __typename?: 'AddEmailPayload'; + __typename?: "AddEmailPayload"; /** The email address that was added */ email: UserEmail; /** Status of the operation */ @@ -44,43 +50,45 @@ export type AddEmailPayload = { /** The status of the `addEmail` mutation */ export enum AddEmailStatus { /** The email address was added */ - Added = 'ADDED', + Added = "ADDED", /** The email address already exists */ - Exists = 'EXISTS' + Exists = "EXISTS", } export type Anonymous = Node & { - __typename?: 'Anonymous'; - id: Scalars['ID']; + __typename?: "Anonymous"; + id: Scalars["ID"]; }; /** * An authentication records when a user enter their credential in a browser * session. */ -export type Authentication = CreationEvent & Node & { - __typename?: 'Authentication'; - /** When the object was created. */ - createdAt: Scalars['DateTime']; - /** ID of the object. */ - id: Scalars['ID']; -}; +export type Authentication = CreationEvent & + Node & { + __typename?: "Authentication"; + /** When the object was created. */ + createdAt: Scalars["DateTime"]; + /** ID of the object. */ + id: Scalars["ID"]; + }; /** A browser session represents a logged in user in a browser. */ -export type BrowserSession = CreationEvent & Node & { - __typename?: 'BrowserSession'; - /** When the object was created. */ - createdAt: Scalars['DateTime']; - /** ID of the object. */ - id: Scalars['ID']; - /** The most recent authentication of this session. */ - lastAuthentication?: Maybe; - /** The user logged in this session. */ - user: User; -}; +export type BrowserSession = CreationEvent & + Node & { + __typename?: "BrowserSession"; + /** When the object was created. */ + createdAt: Scalars["DateTime"]; + /** ID of the object. */ + id: Scalars["ID"]; + /** The most recent authentication of this session. */ + lastAuthentication?: Maybe; + /** The user logged in this session. */ + user: User; + }; export type BrowserSessionConnection = { - __typename?: 'BrowserSessionConnection'; + __typename?: "BrowserSessionConnection"; /** A list of edges. */ edges: Array; /** A list of nodes. */ @@ -91,9 +99,9 @@ export type BrowserSessionConnection = { /** An edge in a connection. */ export type BrowserSessionEdge = { - __typename?: 'BrowserSessionEdge'; + __typename?: "BrowserSessionEdge"; /** A cursor for use in pagination */ - cursor: Scalars['String']; + cursor: Scalars["String"]; /** The item at the end of the edge */ node: BrowserSession; }; @@ -102,45 +110,46 @@ export type BrowserSessionEdge = { * A compat session represents a client session which used the legacy Matrix * login API. */ -export type CompatSession = CreationEvent & Node & { - __typename?: 'CompatSession'; - /** When the object was created. */ - createdAt: Scalars['DateTime']; - /** The Matrix Device ID of this session. */ - deviceId: Scalars['String']; - /** When the session ended. */ - finishedAt?: Maybe; - /** ID of the object. */ - id: Scalars['ID']; - /** The user authorized for this session. */ - user: User; -}; +export type CompatSession = CreationEvent & + Node & { + __typename?: "CompatSession"; + /** When the object was created. */ + createdAt: Scalars["DateTime"]; + /** The Matrix Device ID of this session. */ + deviceId: Scalars["String"]; + /** When the session ended. */ + finishedAt?: Maybe; + /** ID of the object. */ + id: Scalars["ID"]; + /** The user authorized for this session. */ + user: User; + }; /** * A compat SSO login represents a login done through the legacy Matrix login * API, via the `m.login.sso` login method. */ export type CompatSsoLogin = Node & { - __typename?: 'CompatSsoLogin'; + __typename?: "CompatSsoLogin"; /** When the object was created. */ - createdAt: Scalars['DateTime']; + createdAt: Scalars["DateTime"]; /** When the client exchanged the login token sent during the redirection. */ - exchangedAt?: Maybe; + exchangedAt?: Maybe; /** * When the login was fulfilled, and the user was redirected back to the * client. */ - fulfilledAt?: Maybe; + fulfilledAt?: Maybe; /** ID of the object. */ - id: Scalars['ID']; + id: Scalars["ID"]; /** The redirect URI used during the login. */ - redirectUri: Scalars['Url']; + redirectUri: Scalars["Url"]; /** The compat session which was started by this login. */ session?: Maybe; }; export type CompatSsoLoginConnection = { - __typename?: 'CompatSsoLoginConnection'; + __typename?: "CompatSsoLoginConnection"; /** A list of edges. */ edges: Array; /** A list of nodes. */ @@ -151,9 +160,9 @@ export type CompatSsoLoginConnection = { /** An edge in a connection. */ export type CompatSsoLoginEdge = { - __typename?: 'CompatSsoLoginEdge'; + __typename?: "CompatSsoLoginEdge"; /** A cursor for use in pagination */ - cursor: Scalars['String']; + cursor: Scalars["String"]; /** The item at the end of the edge */ node: CompatSsoLogin; }; @@ -161,12 +170,12 @@ export type CompatSsoLoginEdge = { /** An object with a creation date. */ export type CreationEvent = { /** When the object was created. */ - createdAt: Scalars['DateTime']; + createdAt: Scalars["DateTime"]; }; /** The mutations root of the GraphQL interface. */ export type Mutation = { - __typename?: 'Mutation'; + __typename?: "Mutation"; /** Add an email address to the specified user */ addEmail: AddEmailPayload; /** Send a verification code for an email address */ @@ -175,19 +184,16 @@ export type Mutation = { verifyEmail: VerifyEmailPayload; }; - /** The mutations root of the GraphQL interface. */ export type MutationAddEmailArgs = { input: AddEmailInput; }; - /** The mutations root of the GraphQL interface. */ export type MutationSendVerificationEmailArgs = { input: SendVerificationEmailInput; }; - /** The mutations root of the GraphQL interface. */ export type MutationVerifyEmailArgs = { input: VerifyEmailInput; @@ -196,26 +202,26 @@ export type MutationVerifyEmailArgs = { /** An object with an ID. */ export type Node = { /** ID of the object. */ - id: Scalars['ID']; + id: Scalars["ID"]; }; /** An OAuth 2.0 client */ export type Oauth2Client = Node & { - __typename?: 'Oauth2Client'; + __typename?: "Oauth2Client"; /** OAuth 2.0 client ID */ - clientId: Scalars['String']; + clientId: Scalars["String"]; /** Client name advertised by the client. */ - clientName?: Maybe; + clientName?: Maybe; /** Client URI advertised by the client. */ - clientUri?: Maybe; + clientUri?: Maybe; /** ID of the object. */ - id: Scalars['ID']; + id: Scalars["ID"]; /** Privacy policy URI advertised by the client. */ - policyUri?: Maybe; + policyUri?: Maybe; /** List of redirect URIs used for authorization grants by the client. */ - redirectUris: Array; + redirectUris: Array; /** Terms of services URI advertised by the client. */ - tosUri?: Maybe; + tosUri?: Maybe; }; /** @@ -223,21 +229,21 @@ export type Oauth2Client = Node & { * to login. */ export type Oauth2Session = Node & { - __typename?: 'Oauth2Session'; + __typename?: "Oauth2Session"; /** The browser session which started this OAuth 2.0 session. */ browserSession: BrowserSession; /** OAuth 2.0 client used by this session. */ client: Oauth2Client; /** ID of the object. */ - id: Scalars['ID']; + id: Scalars["ID"]; /** Scope granted for this session. */ - scope: Scalars['String']; + scope: Scalars["String"]; /** User authorized for this session. */ user: User; }; export type Oauth2SessionConnection = { - __typename?: 'Oauth2SessionConnection'; + __typename?: "Oauth2SessionConnection"; /** A list of edges. */ edges: Array; /** A list of nodes. */ @@ -248,29 +254,29 @@ export type Oauth2SessionConnection = { /** An edge in a connection. */ export type Oauth2SessionEdge = { - __typename?: 'Oauth2SessionEdge'; + __typename?: "Oauth2SessionEdge"; /** A cursor for use in pagination */ - cursor: Scalars['String']; + cursor: Scalars["String"]; /** The item at the end of the edge */ node: Oauth2Session; }; /** Information about pagination in a connection */ export type PageInfo = { - __typename?: 'PageInfo'; + __typename?: "PageInfo"; /** When paginating forwards, the cursor to continue. */ - endCursor?: Maybe; + endCursor?: Maybe; /** When paginating forwards, are there more items? */ - hasNextPage: Scalars['Boolean']; + hasNextPage: Scalars["Boolean"]; /** When paginating backwards, are there more items? */ - hasPreviousPage: Scalars['Boolean']; + hasPreviousPage: Scalars["Boolean"]; /** When paginating backwards, the cursor to continue. */ - startCursor?: Maybe; + startCursor?: Maybe; }; /** The query root of the GraphQL interface. */ export type Query = { - __typename?: 'Query'; + __typename?: "Query"; /** Fetch a browser session by its ID. */ browserSession?: Maybe; /** @@ -303,66 +309,58 @@ export type Query = { viewerSession: ViewerSession; }; - /** The query root of the GraphQL interface. */ export type QueryBrowserSessionArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; - /** The query root of the GraphQL interface. */ export type QueryNodeArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; - /** The query root of the GraphQL interface. */ export type QueryOauth2ClientArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; - /** The query root of the GraphQL interface. */ export type QueryUpstreamOauth2LinkArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; - /** The query root of the GraphQL interface. */ export type QueryUpstreamOauth2ProviderArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; - /** The query root of the GraphQL interface. */ export type QueryUpstreamOauth2ProvidersArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; - /** The query root of the GraphQL interface. */ export type QueryUserArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; - /** The query root of the GraphQL interface. */ export type QueryUserEmailArgs = { - id: Scalars['ID']; + id: Scalars["ID"]; }; /** The input for the `sendVerificationEmail` mutation */ export type SendVerificationEmailInput = { /** The ID of the email address to verify */ - userEmailId: Scalars['ID']; + userEmailId: Scalars["ID"]; }; /** The payload of the `sendVerificationEmail` mutation */ export type SendVerificationEmailPayload = { - __typename?: 'SendVerificationEmailPayload'; + __typename?: "SendVerificationEmailPayload"; /** The email address to which the verification email was sent */ email: UserEmail; /** Status of the operation */ @@ -374,27 +372,28 @@ export type SendVerificationEmailPayload = { /** The status of the `sendVerificationEmail` mutation */ export enum SendVerificationEmailStatus { /** The email address is already verified */ - AlreadyVerified = 'ALREADY_VERIFIED', + AlreadyVerified = "ALREADY_VERIFIED", /** The verification email was sent */ - Sent = 'SENT' + Sent = "SENT", } -export type UpstreamOAuth2Link = CreationEvent & Node & { - __typename?: 'UpstreamOAuth2Link'; - /** When the object was created. */ - createdAt: Scalars['DateTime']; - /** ID of the object. */ - id: Scalars['ID']; - /** The provider for which this link is. */ - provider: UpstreamOAuth2Provider; - /** Subject used for linking */ - subject: Scalars['String']; - /** The user to which this link is associated. */ - user?: Maybe; -}; +export type UpstreamOAuth2Link = CreationEvent & + Node & { + __typename?: "UpstreamOAuth2Link"; + /** When the object was created. */ + createdAt: Scalars["DateTime"]; + /** ID of the object. */ + id: Scalars["ID"]; + /** The provider for which this link is. */ + provider: UpstreamOAuth2Provider; + /** Subject used for linking */ + subject: Scalars["String"]; + /** The user to which this link is associated. */ + user?: Maybe; + }; export type UpstreamOAuth2LinkConnection = { - __typename?: 'UpstreamOAuth2LinkConnection'; + __typename?: "UpstreamOAuth2LinkConnection"; /** A list of edges. */ edges: Array; /** A list of nodes. */ @@ -405,27 +404,28 @@ export type UpstreamOAuth2LinkConnection = { /** An edge in a connection. */ export type UpstreamOAuth2LinkEdge = { - __typename?: 'UpstreamOAuth2LinkEdge'; + __typename?: "UpstreamOAuth2LinkEdge"; /** A cursor for use in pagination */ - cursor: Scalars['String']; + cursor: Scalars["String"]; /** The item at the end of the edge */ node: UpstreamOAuth2Link; }; -export type UpstreamOAuth2Provider = CreationEvent & Node & { - __typename?: 'UpstreamOAuth2Provider'; - /** Client ID used for this provider. */ - clientId: Scalars['String']; - /** When the object was created. */ - createdAt: Scalars['DateTime']; - /** ID of the object. */ - id: Scalars['ID']; - /** OpenID Connect issuer URL. */ - issuer: Scalars['String']; -}; +export type UpstreamOAuth2Provider = CreationEvent & + Node & { + __typename?: "UpstreamOAuth2Provider"; + /** Client ID used for this provider. */ + clientId: Scalars["String"]; + /** When the object was created. */ + createdAt: Scalars["DateTime"]; + /** ID of the object. */ + id: Scalars["ID"]; + /** OpenID Connect issuer URL. */ + issuer: Scalars["String"]; + }; export type UpstreamOAuth2ProviderConnection = { - __typename?: 'UpstreamOAuth2ProviderConnection'; + __typename?: "UpstreamOAuth2ProviderConnection"; /** A list of edges. */ edges: Array; /** A list of nodes. */ @@ -436,16 +436,16 @@ export type UpstreamOAuth2ProviderConnection = { /** An edge in a connection. */ export type UpstreamOAuth2ProviderEdge = { - __typename?: 'UpstreamOAuth2ProviderEdge'; + __typename?: "UpstreamOAuth2ProviderEdge"; /** A cursor for use in pagination */ - cursor: Scalars['String']; + cursor: Scalars["String"]; /** The item at the end of the edge */ node: UpstreamOAuth2Provider; }; /** A user is an individual's account. */ export type User = Node & { - __typename?: 'User'; + __typename?: "User"; /** Get the list of active browser sessions, chronologically sorted */ browserSessions: BrowserSessionConnection; /** Get the list of compatibility SSO logins, chronologically sorted */ @@ -453,7 +453,7 @@ export type User = Node & { /** Get the list of emails, chronologically sorted */ emails: UserEmailConnection; /** ID of the object. */ - id: Scalars['ID']; + id: Scalars["ID"]; /** Get the list of OAuth 2.0 sessions, chronologically sorted */ oauth2Sessions: Oauth2SessionConnection; /** Primary email address of the user. */ @@ -461,72 +461,68 @@ export type User = Node & { /** Get the list of upstream OAuth 2.0 links */ upstreamOauth2Links: UpstreamOAuth2LinkConnection; /** Username chosen by the user. */ - username: Scalars['String']; + username: Scalars["String"]; }; - /** A user is an individual's account. */ export type UserBrowserSessionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; - /** A user is an individual's account. */ export type UserCompatSsoLoginsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; - /** A user is an individual's account. */ export type UserEmailsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; - /** A user is an individual's account. */ export type UserOauth2SessionsArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; - /** A user is an individual's account. */ export type UserUpstreamOauth2LinksArgs = { - after?: InputMaybe; - before?: InputMaybe; - first?: InputMaybe; - last?: InputMaybe; + after?: InputMaybe; + before?: InputMaybe; + first?: InputMaybe; + last?: InputMaybe; }; /** A user email address */ -export type UserEmail = CreationEvent & Node & { - __typename?: 'UserEmail'; - /** - * When the email address was confirmed. Is `null` if the email was never - * verified by the user. - */ - confirmedAt?: Maybe; - /** When the object was created. */ - createdAt: Scalars['DateTime']; - /** Email address */ - email: Scalars['String']; - /** ID of the object. */ - id: Scalars['ID']; -}; +export type UserEmail = CreationEvent & + Node & { + __typename?: "UserEmail"; + /** + * When the email address was confirmed. Is `null` if the email was never + * verified by the user. + */ + confirmedAt?: Maybe; + /** When the object was created. */ + createdAt: Scalars["DateTime"]; + /** Email address */ + email: Scalars["String"]; + /** ID of the object. */ + id: Scalars["ID"]; + }; export type UserEmailConnection = { - __typename?: 'UserEmailConnection'; + __typename?: "UserEmailConnection"; /** A list of edges. */ edges: Array; /** A list of nodes. */ @@ -534,14 +530,14 @@ export type UserEmailConnection = { /** Information to aid in pagination. */ pageInfo: PageInfo; /** Identifies the total count of items in the connection. */ - totalCount: Scalars['Int']; + totalCount: Scalars["Int"]; }; /** An edge in a connection. */ export type UserEmailEdge = { - __typename?: 'UserEmailEdge'; + __typename?: "UserEmailEdge"; /** A cursor for use in pagination */ - cursor: Scalars['String']; + cursor: Scalars["String"]; /** The item at the end of the edge */ node: UserEmail; }; @@ -549,14 +545,14 @@ export type UserEmailEdge = { /** The input for the `verifyEmail` mutation */ export type VerifyEmailInput = { /** The verification code */ - code: Scalars['String']; + code: Scalars["String"]; /** The ID of the email address to verify */ - userEmailId: Scalars['ID']; + userEmailId: Scalars["ID"]; }; /** The payload of the `verifyEmail` mutation */ export type VerifyEmailPayload = { - __typename?: 'VerifyEmailPayload'; + __typename?: "VerifyEmailPayload"; /** The email address that was verified */ email?: Maybe; /** Status of the operation */ @@ -568,11 +564,11 @@ export type VerifyEmailPayload = { /** The status of the `verifyEmail` mutation */ export enum VerifyEmailStatus { /** The email address was already verified before */ - AlreadyVerified = 'ALREADY_VERIFIED', + AlreadyVerified = "ALREADY_VERIFIED", /** The verification code is invalid */ - InvalidCode = 'INVALID_CODE', + InvalidCode = "INVALID_CODE", /** The email address was just verified */ - Verified = 'VERIFIED' + Verified = "VERIFIED", } /** Represents the current viewer */ @@ -581,58 +577,1523 @@ export type Viewer = Anonymous | User; /** Represents the current viewer's session */ export type ViewerSession = Anonymous | BrowserSession; -export type BrowserSession_SessionFragment = { __typename?: 'BrowserSession', id: string, createdAt: any, lastAuthentication?: { __typename?: 'Authentication', id: string, createdAt: any } | null } & { ' $fragmentName'?: 'BrowserSession_SessionFragment' }; +export type AddEmailMutationVariables = Exact<{ + userId: Scalars["ID"]; + email: Scalars["String"]; +}>; -export type BrowserSessionList_UserFragment = { __typename?: 'User', browserSessions: { __typename?: 'BrowserSessionConnection', edges: Array<{ __typename?: 'BrowserSessionEdge', cursor: string, node: ( - { __typename?: 'BrowserSession', id: string } - & { ' $fragmentRefs'?: { 'BrowserSession_SessionFragment': BrowserSession_SessionFragment } } - ) }> } } & { ' $fragmentName'?: 'BrowserSessionList_UserFragment' }; +export type AddEmailMutation = { + __typename?: "Mutation"; + addEmail: { + __typename?: "AddEmailPayload"; + status: AddEmailStatus; + email: { __typename?: "UserEmail"; id: string } & { + " $fragmentRefs"?: { UserEmail_EmailFragment: UserEmail_EmailFragment }; + }; + }; +}; -export type CompatSsoLogin_LoginFragment = { __typename?: 'CompatSsoLogin', id: string, redirectUri: any, createdAt: any, session?: { __typename?: 'CompatSession', id: string, createdAt: any, deviceId: string, finishedAt?: any | null } | null } & { ' $fragmentName'?: 'CompatSsoLogin_LoginFragment' }; +export type BrowserSession_SessionFragment = { + __typename?: "BrowserSession"; + id: string; + createdAt: any; + lastAuthentication?: { + __typename?: "Authentication"; + id: string; + createdAt: any; + } | null; +} & { " $fragmentName"?: "BrowserSession_SessionFragment" }; -export type CompatSsoLoginList_UserFragment = { __typename?: 'User', compatSsoLogins: { __typename?: 'CompatSsoLoginConnection', edges: Array<{ __typename?: 'CompatSsoLoginEdge', node: ( - { __typename?: 'CompatSsoLogin', id: string } - & { ' $fragmentRefs'?: { 'CompatSsoLogin_LoginFragment': CompatSsoLogin_LoginFragment } } - ) }> } } & { ' $fragmentName'?: 'CompatSsoLoginList_UserFragment' }; +export type BrowserSessionList_UserFragment = { + __typename?: "User"; + browserSessions: { + __typename?: "BrowserSessionConnection"; + edges: Array<{ + __typename?: "BrowserSessionEdge"; + cursor: string; + node: { __typename?: "BrowserSession"; id: string } & { + " $fragmentRefs"?: { + BrowserSession_SessionFragment: BrowserSession_SessionFragment; + }; + }; + }>; + }; +} & { " $fragmentName"?: "BrowserSessionList_UserFragment" }; -export type OAuth2Session_SessionFragment = { __typename?: 'Oauth2Session', id: string, scope: string, client: { __typename?: 'Oauth2Client', id: string, clientId: string, clientName?: string | null, clientUri?: any | null } } & { ' $fragmentName'?: 'OAuth2Session_SessionFragment' }; +export type CompatSsoLogin_LoginFragment = { + __typename?: "CompatSsoLogin"; + id: string; + redirectUri: any; + createdAt: any; + session?: { + __typename?: "CompatSession"; + id: string; + createdAt: any; + deviceId: string; + finishedAt?: any | null; + } | null; +} & { " $fragmentName"?: "CompatSsoLogin_LoginFragment" }; -export type OAuth2SessionList_UserFragment = { __typename?: 'User', oauth2Sessions: { __typename?: 'Oauth2SessionConnection', edges: Array<{ __typename?: 'Oauth2SessionEdge', cursor: string, node: ( - { __typename?: 'Oauth2Session', id: string } - & { ' $fragmentRefs'?: { 'OAuth2Session_SessionFragment': OAuth2Session_SessionFragment } } - ) }> } } & { ' $fragmentName'?: 'OAuth2SessionList_UserFragment' }; +export type CompatSsoLoginList_UserFragment = { + __typename?: "User"; + compatSsoLogins: { + __typename?: "CompatSsoLoginConnection"; + edges: Array<{ + __typename?: "CompatSsoLoginEdge"; + node: { __typename?: "CompatSsoLogin"; id: string } & { + " $fragmentRefs"?: { + CompatSsoLogin_LoginFragment: CompatSsoLogin_LoginFragment; + }; + }; + }>; + }; +} & { " $fragmentName"?: "CompatSsoLoginList_UserFragment" }; + +export type OAuth2Session_SessionFragment = { + __typename?: "Oauth2Session"; + id: string; + scope: string; + client: { + __typename?: "Oauth2Client"; + id: string; + clientId: string; + clientName?: string | null; + clientUri?: any | null; + }; +} & { " $fragmentName"?: "OAuth2Session_SessionFragment" }; + +export type OAuth2SessionList_UserFragment = { + __typename?: "User"; + oauth2Sessions: { + __typename?: "Oauth2SessionConnection"; + edges: Array<{ + __typename?: "Oauth2SessionEdge"; + cursor: string; + node: { __typename?: "Oauth2Session"; id: string } & { + " $fragmentRefs"?: { + OAuth2Session_SessionFragment: OAuth2Session_SessionFragment; + }; + }; + }>; + }; +} & { " $fragmentName"?: "OAuth2SessionList_UserFragment" }; + +export type UserEmail_EmailFragment = { + __typename?: "UserEmail"; + id: string; + email: string; + createdAt: any; + confirmedAt?: any | null; +} & { " $fragmentName"?: "UserEmail_EmailFragment" }; + +export type UserEmailListQueryQueryVariables = Exact<{ + userId: Scalars["ID"]; + first: Scalars["Int"]; + after?: InputMaybe; +}>; + +export type UserEmailListQueryQuery = { + __typename?: "Query"; + user?: { + __typename?: "User"; + id: string; + emails: { + __typename?: "UserEmailConnection"; + edges: Array<{ + __typename?: "UserEmailEdge"; + cursor: string; + node: { __typename?: "UserEmail"; id: string } & { + " $fragmentRefs"?: { + UserEmail_EmailFragment: UserEmail_EmailFragment; + }; + }; + }>; + pageInfo: { + __typename?: "PageInfo"; + hasNextPage: boolean; + endCursor?: string | null; + }; + }; + } | null; +}; + +export type CurrentUserQueryQueryVariables = Exact<{ [key: string]: never }>; + +export type CurrentUserQueryQuery = { + __typename?: "Query"; + viewer: { __typename?: "Anonymous" } | { __typename: "User"; id: string }; +}; + +export type AccountQueryQueryVariables = Exact<{ + id: Scalars["ID"]; +}>; + +export type AccountQueryQuery = { + __typename?: "Query"; + user?: { __typename?: "User"; id: string; username: string } | null; +}; export type BrowserSessionQueryQueryVariables = Exact<{ - id: Scalars['ID']; + id: Scalars["ID"]; }>; - -export type BrowserSessionQueryQuery = { __typename?: 'Query', browserSession?: { __typename?: 'BrowserSession', id: string, createdAt: any, lastAuthentication?: { __typename?: 'Authentication', id: string, createdAt: any } | null, user: { __typename?: 'User', id: string, username: string } } | null }; +export type BrowserSessionQueryQuery = { + __typename?: "Query"; + browserSession?: { + __typename?: "BrowserSession"; + id: string; + createdAt: any; + lastAuthentication?: { + __typename?: "Authentication"; + id: string; + createdAt: any; + } | null; + user: { __typename?: "User"; id: string; username: string }; + } | null; +}; export type HomeQueryQueryVariables = Exact<{ - count: Scalars['Int']; - cursor?: InputMaybe; + count: Scalars["Int"]; + cursor?: InputMaybe; }>; - -export type HomeQueryQuery = { __typename?: 'Query', currentBrowserSession?: { __typename?: 'BrowserSession', id: string, user: ( - { __typename?: 'User', id: string, username: string } - & { ' $fragmentRefs'?: { 'CompatSsoLoginList_UserFragment': CompatSsoLoginList_UserFragment;'BrowserSessionList_UserFragment': BrowserSessionList_UserFragment;'OAuth2SessionList_UserFragment': OAuth2SessionList_UserFragment } } - ) } | null }; +export type HomeQueryQuery = { + __typename?: "Query"; + currentBrowserSession?: { + __typename?: "BrowserSession"; + id: string; + user: { __typename?: "User"; id: string; username: string } & { + " $fragmentRefs"?: { + CompatSsoLoginList_UserFragment: CompatSsoLoginList_UserFragment; + BrowserSessionList_UserFragment: BrowserSessionList_UserFragment; + OAuth2SessionList_UserFragment: OAuth2SessionList_UserFragment; + }; + }; + } | null; +}; export type OAuth2ClientQueryQueryVariables = Exact<{ - id: Scalars['ID']; + id: Scalars["ID"]; }>; +export type OAuth2ClientQueryQuery = { + __typename?: "Query"; + oauth2Client?: { + __typename?: "Oauth2Client"; + id: string; + clientId: string; + clientName?: string | null; + clientUri?: any | null; + tosUri?: any | null; + policyUri?: any | null; + redirectUris: Array; + } | null; +}; -export type OAuth2ClientQueryQuery = { __typename?: 'Query', oauth2Client?: { __typename?: 'Oauth2Client', id: string, clientId: string, clientName?: string | null, clientUri?: any | null, tosUri?: any | null, policyUri?: any | null, redirectUris: Array } | null }; - -export const BrowserSession_SessionFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSession_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BrowserSession"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]}}]} as unknown as DocumentNode; -export const BrowserSessionList_UserFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"browserSessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"BrowserSession_session"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSession_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BrowserSession"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]}}]} as unknown as DocumentNode; -export const CompatSsoLogin_LoginFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLogin_login"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CompatSsoLogin"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUri"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"session"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"deviceId"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}}]}}]}}]} as unknown as DocumentNode; -export const CompatSsoLoginList_UserFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLoginList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"compatSsoLogins"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CompatSsoLogin_login"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLogin_login"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CompatSsoLogin"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUri"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"session"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"deviceId"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}}]}}]}}]} as unknown as DocumentNode; -export const OAuth2Session_SessionFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2Session_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Oauth2Session"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"scope"}},{"kind":"Field","name":{"kind":"Name","value":"client"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}}]}}]}}]} as unknown as DocumentNode; -export const OAuth2SessionList_UserFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2SessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"oauth2Sessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OAuth2Session_session"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2Session_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Oauth2Session"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"scope"}},{"kind":"Field","name":{"kind":"Name","value":"client"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}}]}}]}}]} as unknown as DocumentNode; -export const BrowserSessionQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"BrowserSessionQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"browserSession"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}}]}}]}}]}}]} as unknown as DocumentNode; -export const HomeQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"HomeQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"count"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"Int"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"currentBrowserSession"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"username"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CompatSsoLoginList_user"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"BrowserSessionList_user"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OAuth2SessionList_user"}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLogin_login"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CompatSsoLogin"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUri"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"session"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"deviceId"}},{"kind":"Field","name":{"kind":"Name","value":"finishedAt"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSession_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"BrowserSession"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}},{"kind":"Field","name":{"kind":"Name","value":"lastAuthentication"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"createdAt"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2Session_session"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"Oauth2Session"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"scope"}},{"kind":"Field","name":{"kind":"Name","value":"client"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CompatSsoLoginList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"compatSsoLogins"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CompatSsoLogin_login"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"BrowserSessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"browserSessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"BrowserSession_session"}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"OAuth2SessionList_user"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"User"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"oauth2Sessions"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"first"},"value":{"kind":"Variable","name":{"kind":"Name","value":"count"}}},{"kind":"Argument","name":{"kind":"Name","value":"after"},"value":{"kind":"Variable","name":{"kind":"Name","value":"cursor"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"edges"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"cursor"}},{"kind":"Field","name":{"kind":"Name","value":"node"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"OAuth2Session_session"}}]}}]}}]}}]}}]} as unknown as DocumentNode; -export const OAuth2ClientQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"OAuth2ClientQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"id"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"oauth2Client"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"id"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"clientId"}},{"kind":"Field","name":{"kind":"Name","value":"clientName"}},{"kind":"Field","name":{"kind":"Name","value":"clientUri"}},{"kind":"Field","name":{"kind":"Name","value":"tosUri"}},{"kind":"Field","name":{"kind":"Name","value":"policyUri"}},{"kind":"Field","name":{"kind":"Name","value":"redirectUris"}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file +export const BrowserSession_SessionFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "BrowserSession_session" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "BrowserSession" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "lastAuthentication" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const BrowserSessionList_UserFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "BrowserSessionList_user" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "browserSessions" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "cursor" }, + }, + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "BrowserSession_session", + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "BrowserSession_session" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "BrowserSession" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "lastAuthentication" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const CompatSsoLogin_LoginFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "CompatSsoLogin_login" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "CompatSsoLogin" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "redirectUri" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "session" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { kind: "Field", name: { kind: "Name", value: "deviceId" } }, + { kind: "Field", name: { kind: "Name", value: "finishedAt" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const CompatSsoLoginList_UserFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "CompatSsoLoginList_user" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "compatSsoLogins" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "CompatSsoLogin_login", + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "CompatSsoLogin_login" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "CompatSsoLogin" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "redirectUri" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "session" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { kind: "Field", name: { kind: "Name", value: "deviceId" } }, + { kind: "Field", name: { kind: "Name", value: "finishedAt" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const OAuth2Session_SessionFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "OAuth2Session_session" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "Oauth2Session" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "scope" } }, + { + kind: "Field", + name: { kind: "Name", value: "client" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "clientId" } }, + { kind: "Field", name: { kind: "Name", value: "clientName" } }, + { kind: "Field", name: { kind: "Name", value: "clientUri" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const OAuth2SessionList_UserFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "OAuth2SessionList_user" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "oauth2Sessions" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "cursor" }, + }, + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "OAuth2Session_session", + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "OAuth2Session_session" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "Oauth2Session" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "scope" } }, + { + kind: "Field", + name: { kind: "Name", value: "client" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "clientId" } }, + { kind: "Field", name: { kind: "Name", value: "clientName" } }, + { kind: "Field", name: { kind: "Name", value: "clientUri" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const UserEmail_EmailFragmentDoc = { + kind: "Document", + definitions: [ + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "UserEmail_email" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "UserEmail" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "email" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { kind: "Field", name: { kind: "Name", value: "confirmedAt" } }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const AddEmailDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "mutation", + name: { kind: "Name", value: "AddEmail" }, + variableDefinitions: [ + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "userId" }, + }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "ID" } }, + }, + }, + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "email" }, + }, + type: { + kind: "NonNullType", + type: { + kind: "NamedType", + name: { kind: "Name", value: "String" }, + }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "addEmail" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "input" }, + value: { + kind: "ObjectValue", + fields: [ + { + kind: "ObjectField", + name: { kind: "Name", value: "userId" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "userId" }, + }, + }, + { + kind: "ObjectField", + name: { kind: "Name", value: "email" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "email" }, + }, + }, + ], + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "status" } }, + { + kind: "Field", + name: { kind: "Name", value: "email" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { + kind: "FragmentSpread", + name: { kind: "Name", value: "UserEmail_email" }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "UserEmail_email" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "UserEmail" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "email" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { kind: "Field", name: { kind: "Name", value: "confirmedAt" } }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const UserEmailListQueryDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "query", + name: { kind: "Name", value: "UserEmailListQuery" }, + variableDefinitions: [ + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "userId" }, + }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "ID" } }, + }, + }, + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "first" }, + }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "Int" } }, + }, + }, + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "after" }, + }, + type: { kind: "NamedType", name: { kind: "Name", value: "String" } }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "user" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "id" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "userId" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { + kind: "Field", + name: { kind: "Name", value: "emails" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "first" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "after" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "cursor" }, + }, + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "UserEmail_email", + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "Field", + name: { kind: "Name", value: "pageInfo" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "hasNextPage" }, + }, + { + kind: "Field", + name: { kind: "Name", value: "endCursor" }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "UserEmail_email" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "UserEmail" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "email" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { kind: "Field", name: { kind: "Name", value: "confirmedAt" } }, + ], + }, + }, + ], +} as unknown as DocumentNode< + UserEmailListQueryQuery, + UserEmailListQueryQueryVariables +>; +export const CurrentUserQueryDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "query", + name: { kind: "Name", value: "CurrentUserQuery" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "viewer" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "InlineFragment", + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "__typename" }, + }, + { kind: "Field", name: { kind: "Name", value: "id" } }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode< + CurrentUserQueryQuery, + CurrentUserQueryQueryVariables +>; +export const AccountQueryDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "query", + name: { kind: "Name", value: "AccountQuery" }, + variableDefinitions: [ + { + kind: "VariableDefinition", + variable: { kind: "Variable", name: { kind: "Name", value: "id" } }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "ID" } }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "user" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "id" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "id" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "username" } }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const BrowserSessionQueryDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "query", + name: { kind: "Name", value: "BrowserSessionQuery" }, + variableDefinitions: [ + { + kind: "VariableDefinition", + variable: { kind: "Variable", name: { kind: "Name", value: "id" } }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "ID" } }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "browserSession" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "id" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "id" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "lastAuthentication" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { + kind: "Field", + name: { kind: "Name", value: "createdAt" }, + }, + ], + }, + }, + { + kind: "Field", + name: { kind: "Name", value: "user" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { + kind: "Field", + name: { kind: "Name", value: "username" }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode< + BrowserSessionQueryQuery, + BrowserSessionQueryQueryVariables +>; +export const HomeQueryDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "query", + name: { kind: "Name", value: "HomeQuery" }, + variableDefinitions: [ + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "Int" } }, + }, + }, + { + kind: "VariableDefinition", + variable: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + type: { kind: "NamedType", name: { kind: "Name", value: "String" } }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "currentBrowserSession" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { + kind: "Field", + name: { kind: "Name", value: "user" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { + kind: "Field", + name: { kind: "Name", value: "username" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "CompatSsoLoginList_user", + }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "BrowserSessionList_user", + }, + }, + { + kind: "FragmentSpread", + name: { kind: "Name", value: "OAuth2SessionList_user" }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "CompatSsoLogin_login" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "CompatSsoLogin" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "redirectUri" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "session" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { kind: "Field", name: { kind: "Name", value: "deviceId" } }, + { kind: "Field", name: { kind: "Name", value: "finishedAt" } }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "BrowserSession_session" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "BrowserSession" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + { + kind: "Field", + name: { kind: "Name", value: "lastAuthentication" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "createdAt" } }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "OAuth2Session_session" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "Oauth2Session" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "scope" } }, + { + kind: "Field", + name: { kind: "Name", value: "client" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "clientId" } }, + { kind: "Field", name: { kind: "Name", value: "clientName" } }, + { kind: "Field", name: { kind: "Name", value: "clientUri" } }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "CompatSsoLoginList_user" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "compatSsoLogins" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "CompatSsoLogin_login", + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "BrowserSessionList_user" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "browserSessions" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "cursor" }, + }, + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "BrowserSession_session", + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + { + kind: "FragmentDefinition", + name: { kind: "Name", value: "OAuth2SessionList_user" }, + typeCondition: { + kind: "NamedType", + name: { kind: "Name", value: "User" }, + }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "oauth2Sessions" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "first" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "count" }, + }, + }, + { + kind: "Argument", + name: { kind: "Name", value: "after" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "cursor" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "edges" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "cursor" }, + }, + { + kind: "Field", + name: { kind: "Name", value: "node" }, + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "id" }, + }, + { + kind: "FragmentSpread", + name: { + kind: "Name", + value: "OAuth2Session_session", + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode; +export const OAuth2ClientQueryDocument = { + kind: "Document", + definitions: [ + { + kind: "OperationDefinition", + operation: "query", + name: { kind: "Name", value: "OAuth2ClientQuery" }, + variableDefinitions: [ + { + kind: "VariableDefinition", + variable: { kind: "Variable", name: { kind: "Name", value: "id" } }, + type: { + kind: "NonNullType", + type: { kind: "NamedType", name: { kind: "Name", value: "ID" } }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { + kind: "Field", + name: { kind: "Name", value: "oauth2Client" }, + arguments: [ + { + kind: "Argument", + name: { kind: "Name", value: "id" }, + value: { + kind: "Variable", + name: { kind: "Name", value: "id" }, + }, + }, + ], + selectionSet: { + kind: "SelectionSet", + selections: [ + { kind: "Field", name: { kind: "Name", value: "id" } }, + { kind: "Field", name: { kind: "Name", value: "clientId" } }, + { kind: "Field", name: { kind: "Name", value: "clientName" } }, + { kind: "Field", name: { kind: "Name", value: "clientUri" } }, + { kind: "Field", name: { kind: "Name", value: "tosUri" } }, + { kind: "Field", name: { kind: "Name", value: "policyUri" } }, + { + kind: "Field", + name: { kind: "Name", value: "redirectUris" }, + }, + ], + }, + }, + ], + }, + }, + ], +} as unknown as DocumentNode< + OAuth2ClientQueryQuery, + OAuth2ClientQueryQueryVariables +>; diff --git a/frontend/src/gql/schema.ts b/frontend/src/gql/schema.ts index 35009770..fca30436 100644 --- a/frontend/src/gql/schema.ts +++ b/frontend/src/gql/schema.ts @@ -1,1994 +1,1995 @@ -import { IntrospectionQuery } from "graphql"; +/* eslint-disable */ +import { IntrospectionQuery } from 'graphql'; export default { - __schema: { - queryType: { - name: "Query", + "__schema": { + "queryType": { + "name": "Query" }, - mutationType: { - name: "Mutation", + "mutationType": { + "name": "Mutation" }, - subscriptionType: null, - types: [ + "subscriptionType": null, + "types": [ { - kind: "OBJECT", - name: "AddEmailPayload", - fields: [ + "kind": "OBJECT", + "name": "AddEmailPayload", + "fields": [ { - name: "email", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, - }, + "name": "email", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "status", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "status", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "User", - ofType: null, - }, + "name": "user", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "Anonymous", - fields: [ + "kind": "OBJECT", + "name": "Anonymous", + "fields": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "Authentication", - fields: [ + "kind": "OBJECT", + "name": "Authentication", + "fields": [ { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "CreationEvent", + "kind": "INTERFACE", + "name": "CreationEvent" }, { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "BrowserSession", - fields: [ + "kind": "OBJECT", + "name": "BrowserSession", + "fields": [ { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "lastAuthentication", - type: { - kind: "OBJECT", - name: "Authentication", - ofType: null, + "name": "lastAuthentication", + "type": { + "kind": "OBJECT", + "name": "Authentication", + "ofType": null }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "User", - ofType: null, - }, + "name": "user", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "CreationEvent", + "kind": "INTERFACE", + "name": "CreationEvent" }, { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "BrowserSessionConnection", - fields: [ + "kind": "OBJECT", + "name": "BrowserSessionConnection", + "fields": [ { - name: "edges", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "BrowserSessionEdge", - ofType: null, - }, - }, - }, + "name": "edges", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "BrowserSessionEdge", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "nodes", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "BrowserSession", - ofType: null, - }, - }, - }, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "BrowserSession", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "pageInfo", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "PageInfo", - ofType: null, - }, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "BrowserSessionEdge", - fields: [ + "kind": "OBJECT", + "name": "BrowserSessionEdge", + "fields": [ { - name: "cursor", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "cursor", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "BrowserSession", - ofType: null, - }, + "name": "node", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "BrowserSession", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "CompatSession", - fields: [ + "kind": "OBJECT", + "name": "CompatSession", + "fields": [ { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "deviceId", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "deviceId", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "finishedAt", - type: { - kind: "SCALAR", - name: "Any", + "name": "finishedAt", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "User", - ofType: null, - }, + "name": "user", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "CreationEvent", + "kind": "INTERFACE", + "name": "CreationEvent" }, { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "CompatSsoLogin", - fields: [ + "kind": "OBJECT", + "name": "CompatSsoLogin", + "fields": [ { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "exchangedAt", - type: { - kind: "SCALAR", - name: "Any", + "name": "exchangedAt", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "fulfilledAt", - type: { - kind: "SCALAR", - name: "Any", + "name": "fulfilledAt", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "redirectUri", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "redirectUri", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "session", - type: { - kind: "OBJECT", - name: "CompatSession", - ofType: null, + "name": "session", + "type": { + "kind": "OBJECT", + "name": "CompatSession", + "ofType": null }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "CompatSsoLoginConnection", - fields: [ + "kind": "OBJECT", + "name": "CompatSsoLoginConnection", + "fields": [ { - name: "edges", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "CompatSsoLoginEdge", - ofType: null, - }, - }, - }, + "name": "edges", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "CompatSsoLoginEdge", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "nodes", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "CompatSsoLogin", - ofType: null, - }, - }, - }, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "CompatSsoLogin", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "pageInfo", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "PageInfo", - ofType: null, - }, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "CompatSsoLoginEdge", - fields: [ + "kind": "OBJECT", + "name": "CompatSsoLoginEdge", + "fields": [ { - name: "cursor", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "cursor", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "CompatSsoLogin", - ofType: null, - }, + "name": "node", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "CompatSsoLogin", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "INTERFACE", - name: "CreationEvent", - fields: [ + "kind": "INTERFACE", + "name": "CreationEvent", + "fields": [ { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], - possibleTypes: [ + "interfaces": [], + "possibleTypes": [ { - kind: "OBJECT", - name: "Authentication", + "kind": "OBJECT", + "name": "Authentication" }, { - kind: "OBJECT", - name: "BrowserSession", + "kind": "OBJECT", + "name": "BrowserSession" }, { - kind: "OBJECT", - name: "CompatSession", + "kind": "OBJECT", + "name": "CompatSession" }, { - kind: "OBJECT", - name: "UpstreamOAuth2Link", + "kind": "OBJECT", + "name": "UpstreamOAuth2Link" }, { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider" }, { - kind: "OBJECT", - name: "UserEmail", - }, - ], + "kind": "OBJECT", + "name": "UserEmail" + } + ] }, { - kind: "OBJECT", - name: "Mutation", - fields: [ + "kind": "OBJECT", + "name": "Mutation", + "fields": [ { - name: "addEmail", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "AddEmailPayload", - ofType: null, - }, + "name": "addEmail", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "AddEmailPayload", + "ofType": null + } }, - args: [ + "args": [ { - name: "input", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "input", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "sendVerificationEmail", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "SendVerificationEmailPayload", - ofType: null, - }, + "name": "sendVerificationEmail", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "SendVerificationEmailPayload", + "ofType": null + } }, - args: [ + "args": [ { - name: "input", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "input", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "verifyEmail", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "VerifyEmailPayload", - ofType: null, - }, + "name": "verifyEmail", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "VerifyEmailPayload", + "ofType": null + } }, - args: [ + "args": [ { - name: "input", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], - }, + "name": "input", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "INTERFACE", - name: "Node", - fields: [ + "kind": "INTERFACE", + "name": "Node", + "fields": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], - possibleTypes: [ + "interfaces": [], + "possibleTypes": [ { - kind: "OBJECT", - name: "Anonymous", + "kind": "OBJECT", + "name": "Anonymous" }, { - kind: "OBJECT", - name: "Authentication", + "kind": "OBJECT", + "name": "Authentication" }, { - kind: "OBJECT", - name: "BrowserSession", + "kind": "OBJECT", + "name": "BrowserSession" }, { - kind: "OBJECT", - name: "CompatSession", + "kind": "OBJECT", + "name": "CompatSession" }, { - kind: "OBJECT", - name: "CompatSsoLogin", + "kind": "OBJECT", + "name": "CompatSsoLogin" }, { - kind: "OBJECT", - name: "Oauth2Client", + "kind": "OBJECT", + "name": "Oauth2Client" }, { - kind: "OBJECT", - name: "Oauth2Session", + "kind": "OBJECT", + "name": "Oauth2Session" }, { - kind: "OBJECT", - name: "UpstreamOAuth2Link", + "kind": "OBJECT", + "name": "UpstreamOAuth2Link" }, { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider" }, { - kind: "OBJECT", - name: "User", + "kind": "OBJECT", + "name": "User" }, { - kind: "OBJECT", - name: "UserEmail", - }, - ], + "kind": "OBJECT", + "name": "UserEmail" + } + ] }, { - kind: "OBJECT", - name: "Oauth2Client", - fields: [ + "kind": "OBJECT", + "name": "Oauth2Client", + "fields": [ { - name: "clientId", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "clientId", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "clientName", - type: { - kind: "SCALAR", - name: "Any", + "name": "clientName", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "clientUri", - type: { - kind: "SCALAR", - name: "Any", + "name": "clientUri", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "policyUri", - type: { - kind: "SCALAR", - name: "Any", + "name": "policyUri", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "redirectUris", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, + "name": "redirectUris", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } }, - args: [], + "args": [] }, { - name: "tosUri", - type: { - kind: "SCALAR", - name: "Any", + "name": "tosUri", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "Oauth2Session", - fields: [ + "kind": "OBJECT", + "name": "Oauth2Session", + "fields": [ { - name: "browserSession", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "BrowserSession", - ofType: null, - }, + "name": "browserSession", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "BrowserSession", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "client", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "Oauth2Client", - ofType: null, - }, + "name": "client", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "Oauth2Client", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "scope", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "scope", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "User", - ofType: null, - }, + "name": "user", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "Oauth2SessionConnection", - fields: [ + "kind": "OBJECT", + "name": "Oauth2SessionConnection", + "fields": [ { - name: "edges", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "Oauth2SessionEdge", - ofType: null, - }, - }, - }, + "name": "edges", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "Oauth2SessionEdge", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "nodes", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "Oauth2Session", - ofType: null, - }, - }, - }, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "Oauth2Session", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "pageInfo", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "PageInfo", - ofType: null, - }, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "Oauth2SessionEdge", - fields: [ + "kind": "OBJECT", + "name": "Oauth2SessionEdge", + "fields": [ { - name: "cursor", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "cursor", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "Oauth2Session", - ofType: null, - }, + "name": "node", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "Oauth2Session", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "PageInfo", - fields: [ + "kind": "OBJECT", + "name": "PageInfo", + "fields": [ { - name: "endCursor", - type: { - kind: "SCALAR", - name: "Any", + "name": "endCursor", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "hasNextPage", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "hasNextPage", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "hasPreviousPage", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "hasPreviousPage", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "startCursor", - type: { - kind: "SCALAR", - name: "Any", + "name": "startCursor", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "Query", - fields: [ + "kind": "OBJECT", + "name": "Query", + "fields": [ { - name: "browserSession", - type: { - kind: "OBJECT", - name: "BrowserSession", - ofType: null, + "name": "browserSession", + "type": { + "kind": "OBJECT", + "name": "BrowserSession", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "currentBrowserSession", - type: { - kind: "OBJECT", - name: "BrowserSession", - ofType: null, + "name": "currentBrowserSession", + "type": { + "kind": "OBJECT", + "name": "BrowserSession", + "ofType": null }, - args: [], + "args": [] }, { - name: "currentUser", - type: { - kind: "OBJECT", - name: "User", - ofType: null, + "name": "currentUser", + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "INTERFACE", - name: "Node", - ofType: null, + "name": "node", + "type": { + "kind": "INTERFACE", + "name": "Node", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "oauth2Client", - type: { - kind: "OBJECT", - name: "Oauth2Client", - ofType: null, + "name": "oauth2Client", + "type": { + "kind": "OBJECT", + "name": "Oauth2Client", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "upstreamOauth2Link", - type: { - kind: "OBJECT", - name: "UpstreamOAuth2Link", - ofType: null, + "name": "upstreamOauth2Link", + "type": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Link", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "upstreamOauth2Provider", - type: { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", - ofType: null, + "name": "upstreamOauth2Provider", + "type": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "upstreamOauth2Providers", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2ProviderConnection", - ofType: null, - }, + "name": "upstreamOauth2Providers", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2ProviderConnection", + "ofType": null + } }, - args: [ + "args": [ { - name: "after", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "before", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "first", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "last", - type: { - kind: "SCALAR", - name: "Any", - }, - }, - ], + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Any" + } + } + ] }, { - name: "user", - type: { - kind: "OBJECT", - name: "User", - ofType: null, + "name": "user", + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "userEmail", - type: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, + "name": "userEmail", + "type": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null }, - args: [ + "args": [ { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, - }, - }, - ], + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } + } + } + ] }, { - name: "viewer", - type: { - kind: "NON_NULL", - ofType: { - kind: "UNION", - name: "Viewer", - ofType: null, - }, + "name": "viewer", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "UNION", + "name": "Viewer", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "viewerSession", - type: { - kind: "NON_NULL", - ofType: { - kind: "UNION", - name: "ViewerSession", - ofType: null, - }, + "name": "viewerSession", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "UNION", + "name": "ViewerSession", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "SendVerificationEmailPayload", - fields: [ + "kind": "OBJECT", + "name": "SendVerificationEmailPayload", + "fields": [ { - name: "email", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, - }, + "name": "email", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "status", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "status", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "User", - ofType: null, - }, + "name": "user", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "UpstreamOAuth2Link", - fields: [ + "kind": "OBJECT", + "name": "UpstreamOAuth2Link", + "fields": [ { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "provider", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", - ofType: null, - }, + "name": "provider", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "subject", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "subject", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "OBJECT", - name: "User", - ofType: null, + "name": "user", + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "CreationEvent", + "kind": "INTERFACE", + "name": "CreationEvent" }, { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "UpstreamOAuth2LinkConnection", - fields: [ + "kind": "OBJECT", + "name": "UpstreamOAuth2LinkConnection", + "fields": [ { - name: "edges", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2LinkEdge", - ofType: null, - }, - }, - }, + "name": "edges", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2LinkEdge", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "nodes", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2Link", - ofType: null, - }, - }, - }, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Link", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "pageInfo", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "PageInfo", - ofType: null, - }, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "UpstreamOAuth2LinkEdge", - fields: [ + "kind": "OBJECT", + "name": "UpstreamOAuth2LinkEdge", + "fields": [ { - name: "cursor", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "cursor", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2Link", - ofType: null, - }, + "name": "node", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Link", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", - fields: [ + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider", + "fields": [ { - name: "clientId", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "clientId", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "issuer", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "issuer", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "CreationEvent", + "kind": "INTERFACE", + "name": "CreationEvent" }, { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "UpstreamOAuth2ProviderConnection", - fields: [ + "kind": "OBJECT", + "name": "UpstreamOAuth2ProviderConnection", + "fields": [ { - name: "edges", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2ProviderEdge", - ofType: null, - }, - }, - }, + "name": "edges", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2ProviderEdge", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "nodes", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", - ofType: null, - }, - }, - }, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "pageInfo", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "PageInfo", - ofType: null, - }, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "UpstreamOAuth2ProviderEdge", - fields: [ + "kind": "OBJECT", + "name": "UpstreamOAuth2ProviderEdge", + "fields": [ { - name: "cursor", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "cursor", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2Provider", - ofType: null, - }, + "name": "node", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2Provider", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "User", - fields: [ + "kind": "OBJECT", + "name": "User", + "fields": [ { - name: "browserSessions", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "BrowserSessionConnection", - ofType: null, - }, + "name": "browserSessions", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "BrowserSessionConnection", + "ofType": null + } }, - args: [ + "args": [ { - name: "after", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "before", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "first", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "last", - type: { - kind: "SCALAR", - name: "Any", - }, - }, - ], + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Any" + } + } + ] }, { - name: "compatSsoLogins", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "CompatSsoLoginConnection", - ofType: null, - }, + "name": "compatSsoLogins", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "CompatSsoLoginConnection", + "ofType": null + } }, - args: [ + "args": [ { - name: "after", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "before", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "first", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "last", - type: { - kind: "SCALAR", - name: "Any", - }, - }, - ], + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Any" + } + } + ] }, { - name: "emails", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UserEmailConnection", - ofType: null, - }, + "name": "emails", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UserEmailConnection", + "ofType": null + } }, - args: [ + "args": [ { - name: "after", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "before", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "first", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "last", - type: { - kind: "SCALAR", - name: "Any", - }, - }, - ], + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Any" + } + } + ] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "oauth2Sessions", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "Oauth2SessionConnection", - ofType: null, - }, + "name": "oauth2Sessions", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "Oauth2SessionConnection", + "ofType": null + } }, - args: [ + "args": [ { - name: "after", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "before", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "first", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "last", - type: { - kind: "SCALAR", - name: "Any", - }, - }, - ], + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Any" + } + } + ] }, { - name: "primaryEmail", - type: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, + "name": "primaryEmail", + "type": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null }, - args: [], + "args": [] }, { - name: "upstreamOauth2Links", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UpstreamOAuth2LinkConnection", - ofType: null, - }, + "name": "upstreamOauth2Links", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UpstreamOAuth2LinkConnection", + "ofType": null + } }, - args: [ + "args": [ { - name: "after", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "after", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "before", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "before", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "first", - type: { - kind: "SCALAR", - name: "Any", - }, + "name": "first", + "type": { + "kind": "SCALAR", + "name": "Any" + } }, { - name: "last", - type: { - kind: "SCALAR", - name: "Any", - }, - }, - ], + "name": "last", + "type": { + "kind": "SCALAR", + "name": "Any" + } + } + ] }, { - name: "username", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "username", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "UserEmail", - fields: [ + "kind": "OBJECT", + "name": "UserEmail", + "fields": [ { - name: "confirmedAt", - type: { - kind: "SCALAR", - name: "Any", + "name": "confirmedAt", + "type": { + "kind": "SCALAR", + "name": "Any" }, - args: [], + "args": [] }, { - name: "createdAt", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "createdAt", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "email", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "email", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "id", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "id", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [ + "interfaces": [ { - kind: "INTERFACE", - name: "CreationEvent", + "kind": "INTERFACE", + "name": "CreationEvent" }, { - kind: "INTERFACE", - name: "Node", - }, - ], + "kind": "INTERFACE", + "name": "Node" + } + ] }, { - kind: "OBJECT", - name: "UserEmailConnection", - fields: [ + "kind": "OBJECT", + "name": "UserEmailConnection", + "fields": [ { - name: "edges", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UserEmailEdge", - ofType: null, - }, - }, - }, + "name": "edges", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UserEmailEdge", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "nodes", - type: { - kind: "NON_NULL", - ofType: { - kind: "LIST", - ofType: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, - }, - }, - }, + "name": "nodes", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "LIST", + "ofType": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null + } + } + } }, - args: [], + "args": [] }, { - name: "pageInfo", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "PageInfo", - ofType: null, - }, + "name": "pageInfo", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "PageInfo", + "ofType": null + } }, - args: [], + "args": [] }, { - name: "totalCount", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "totalCount", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "UserEmailEdge", - fields: [ + "kind": "OBJECT", + "name": "UserEmailEdge", + "fields": [ { - name: "cursor", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "cursor", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "node", - type: { - kind: "NON_NULL", - ofType: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, - }, + "name": "node", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null + } }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "OBJECT", - name: "VerifyEmailPayload", - fields: [ + "kind": "OBJECT", + "name": "VerifyEmailPayload", + "fields": [ { - name: "email", - type: { - kind: "OBJECT", - name: "UserEmail", - ofType: null, + "name": "email", + "type": { + "kind": "OBJECT", + "name": "UserEmail", + "ofType": null }, - args: [], + "args": [] }, { - name: "status", - type: { - kind: "NON_NULL", - ofType: { - kind: "SCALAR", - name: "Any", - }, + "name": "status", + "type": { + "kind": "NON_NULL", + "ofType": { + "kind": "SCALAR", + "name": "Any" + } }, - args: [], + "args": [] }, { - name: "user", - type: { - kind: "OBJECT", - name: "User", - ofType: null, + "name": "user", + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null }, - args: [], - }, + "args": [] + } ], - interfaces: [], + "interfaces": [] }, { - kind: "UNION", - name: "Viewer", - possibleTypes: [ + "kind": "UNION", + "name": "Viewer", + "possibleTypes": [ { - kind: "OBJECT", - name: "Anonymous", + "kind": "OBJECT", + "name": "Anonymous" }, { - kind: "OBJECT", - name: "User", - }, - ], + "kind": "OBJECT", + "name": "User" + } + ] }, { - kind: "UNION", - name: "ViewerSession", - possibleTypes: [ + "kind": "UNION", + "name": "ViewerSession", + "possibleTypes": [ { - kind: "OBJECT", - name: "Anonymous", + "kind": "OBJECT", + "name": "Anonymous" }, { - kind: "OBJECT", - name: "BrowserSession", - }, - ], + "kind": "OBJECT", + "name": "BrowserSession" + } + ] }, { - kind: "SCALAR", - name: "Any", - }, + "kind": "SCALAR", + "name": "Any" + } ], - directives: [], - }, -} as unknown as IntrospectionQuery; + "directives": [] + } +} as unknown as IntrospectionQuery; \ No newline at end of file diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index d1445a97..0fc771d3 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -15,6 +15,7 @@ import React from "react"; import ReactDOM from "react-dom/client"; import { Provider } from "jotai"; +import { DevTools } from "jotai-devtools"; import LoadingScreen from "./components/LoadingScreen"; import Router from "./Router"; @@ -23,6 +24,7 @@ import { HydrateAtoms } from "./atoms"; ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( + }> diff --git a/frontend/src/pages/Account.tsx b/frontend/src/pages/Account.tsx new file mode 100644 index 00000000..04d7acab --- /dev/null +++ b/frontend/src/pages/Account.tsx @@ -0,0 +1,76 @@ +// Copyright 2023 The Matrix.org Foundation C.I.C. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import React from "react"; +import { useAtomValue } from "jotai"; +import { atomFamily } from "jotai/utils"; +import { atomWithQuery } from "jotai-urql"; + +import { graphql } from "../gql"; +import UserEmailList from "../components/UserEmailList"; +import { Title } from "../components/Typography"; +import AddEmailForm from "../components/AddEmailForm"; + +const CURRENT_USER_QUERY = graphql(/* GraphQL */ ` + query CurrentUserQuery { + viewer { + ... on User { + __typename + id + } + } + } +`); + +const currentUserAtom = atomWithQuery({ query: CURRENT_USER_QUERY }); + +const QUERY = graphql(/* GraphQL */ ` + query AccountQuery($id: ID!) { + user(id: $id) { + id + username + } + } +`); + +const accountAtomFamily = atomFamily((id: string) => + atomWithQuery({ query: QUERY, getVariables: () => ({ id }) }) +); + +const UserAccount: React.FC<{ id: string }> = ({ id }) => { + const result = useAtomValue(accountAtomFamily(id)); + + return ( +
+ Hello {result.data?.user?.username} + + +
+ ); +}; + +const CurrentUserAccount: React.FC = () => { + const result = useAtomValue(currentUserAtom); + if (result.data?.viewer?.__typename === "User") { + return ( +
+ +
+ ); + } + + return
Not logged in.
; +}; + +export default CurrentUserAccount; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index ffc003bb..2652a483 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -27,10 +27,18 @@ export default defineConfig({ }, plugins: [ codegen(), - react(), + react({ + babel: { + plugins: [ + "jotai/babel/plugin-react-refresh", + "jotai/babel/plugin-debug-label", + ], + }, + }), eslint({ // Explicitly set the config file, else storybook gets confused overrideConfigFile: "./.eslintrc.cjs", + exclude: ["./src/gql/*"], }), ], server: {