From 9e0d1bf9609763561fa3dc6a1671039de251f4ee Mon Sep 17 00:00:00 2001 From: surajmn1 Date: Tue, 18 Feb 2025 13:59:04 +0530 Subject: [PATCH 01/78] studio: init shadcn ts vite --- studio-shadcn/.gitignore | 24 + studio-shadcn/README.md | 50 + studio-shadcn/components.json | 21 + studio-shadcn/eslint.config.js | 28 + studio-shadcn/index.html | 13 + studio-shadcn/package-lock.json | 3570 ++++++++++++++++++++ studio-shadcn/package.json | 38 + studio-shadcn/public/vite.svg | 1 + studio-shadcn/src/App.css | 100 + studio-shadcn/src/App.tsx | 16 + studio-shadcn/src/assets/react.svg | 1 + studio-shadcn/src/components/ui/button.tsx | 58 + studio-shadcn/src/index.css | 1 + studio-shadcn/src/lib/utils.ts | 6 + studio-shadcn/src/main.tsx | 10 + studio-shadcn/src/vite-env.d.ts | 1 + studio-shadcn/tsconfig.app.json | 30 + studio-shadcn/tsconfig.json | 13 + studio-shadcn/tsconfig.node.json | 24 + studio-shadcn/vite.config.ts | 14 + 20 files changed, 4019 insertions(+) create mode 100644 studio-shadcn/.gitignore create mode 100644 studio-shadcn/README.md create mode 100644 studio-shadcn/components.json create mode 100644 studio-shadcn/eslint.config.js create mode 100644 studio-shadcn/index.html create mode 100644 studio-shadcn/package-lock.json create mode 100644 studio-shadcn/package.json create mode 100644 studio-shadcn/public/vite.svg create mode 100644 studio-shadcn/src/App.css create mode 100644 studio-shadcn/src/App.tsx create mode 100644 studio-shadcn/src/assets/react.svg create mode 100644 studio-shadcn/src/components/ui/button.tsx create mode 100644 studio-shadcn/src/index.css create mode 100644 studio-shadcn/src/lib/utils.ts create mode 100644 studio-shadcn/src/main.tsx create mode 100644 studio-shadcn/src/vite-env.d.ts create mode 100644 studio-shadcn/tsconfig.app.json create mode 100644 studio-shadcn/tsconfig.json create mode 100644 studio-shadcn/tsconfig.node.json create mode 100644 studio-shadcn/vite.config.ts diff --git a/studio-shadcn/.gitignore b/studio-shadcn/.gitignore new file mode 100644 index 000000000..a547bf36d --- /dev/null +++ b/studio-shadcn/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/studio-shadcn/README.md b/studio-shadcn/README.md new file mode 100644 index 000000000..74872fd4a --- /dev/null +++ b/studio-shadcn/README.md @@ -0,0 +1,50 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: + +- Configure the top-level `parserOptions` property like this: + +```js +export default tseslint.config({ + languageOptions: { + // other options... + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + }, +}) +``` + +- Replace `tseslint.configs.recommended` to `tseslint.configs.recommendedTypeChecked` or `tseslint.configs.strictTypeChecked` +- Optionally add `...tseslint.configs.stylisticTypeChecked` +- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and update the config: + +```js +// eslint.config.js +import react from 'eslint-plugin-react' + +export default tseslint.config({ + // Set the react version + settings: { react: { version: '18.3' } }, + plugins: { + // Add the react plugin + react, + }, + rules: { + // other rules... + // Enable its recommended rules + ...react.configs.recommended.rules, + ...react.configs['jsx-runtime'].rules, + }, +}) +``` diff --git a/studio-shadcn/components.json b/studio-shadcn/components.json new file mode 100644 index 000000000..027fe78f0 --- /dev/null +++ b/studio-shadcn/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/App.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide" +} \ No newline at end of file diff --git a/studio-shadcn/eslint.config.js b/studio-shadcn/eslint.config.js new file mode 100644 index 000000000..092408a9f --- /dev/null +++ b/studio-shadcn/eslint.config.js @@ -0,0 +1,28 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' + +export default tseslint.config( + { ignores: ['dist'] }, + { + extends: [js.configs.recommended, ...tseslint.configs.recommended], + files: ['**/*.{ts,tsx}'], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + }, + plugins: { + 'react-hooks': reactHooks, + 'react-refresh': reactRefresh, + }, + rules: { + ...reactHooks.configs.recommended.rules, + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, + }, +) diff --git a/studio-shadcn/index.html b/studio-shadcn/index.html new file mode 100644 index 000000000..e4b78eae1 --- /dev/null +++ b/studio-shadcn/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite + React + TS + + +
+ + + diff --git a/studio-shadcn/package-lock.json b/studio-shadcn/package-lock.json new file mode 100644 index 000000000..f21e398c8 --- /dev/null +++ b/studio-shadcn/package-lock.json @@ -0,0 +1,3570 @@ +{ + "name": "studio-shadcn", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "studio-shadcn", + "version": "0.0.0", + "dependencies": { + "@radix-ui/react-slot": "^1.1.2", + "@tailwindcss/vite": "^4.0.6", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.475.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "tailwindcss": "^4.0.6", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@types/node": "^22.13.4", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.19.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.18", + "globals": "^15.14.0", + "typescript": "~5.7.2", + "typescript-eslint": "^8.22.0", + "vite": "^6.1.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", + "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/traverse": "^7.26.9", + "@babel/types": "^7.26.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", + "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz", + "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", + "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.26.9" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", + "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.9", + "@babel/types": "^7.26.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", + "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.9", + "@babel/parser": "^7.26.9", + "@babel/template": "^7.26.9", + "@babel/types": "^7.26.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.26.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz", + "integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", + "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.6", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz", + "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.20.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz", + "integrity": "sha512-iZA07H9io9Wn836aVTytRaNqh00Sad+EamwOVJT12GTLw1VGMFV/4JaME+JjLtr9fiGaoWgYnS54wrfWsSs4oQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", + "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.10.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit/node_modules/@eslint/core": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.6", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", + "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.3.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", + "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz", + "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", + "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", + "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", + "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", + "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", + "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", + "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", + "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", + "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", + "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", + "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", + "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", + "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", + "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", + "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", + "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", + "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", + "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", + "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", + "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", + "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.0.6.tgz", + "integrity": "sha512-jb6E0WeSq7OQbVYcIJ6LxnZTeC4HjMvbzFBMCrQff4R50HBlo/obmYNk6V2GCUXDeqiXtvtrQgcIbT+/boB03Q==", + "dependencies": { + "enhanced-resolve": "^5.18.0", + "jiti": "^2.4.2", + "tailwindcss": "4.0.6" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.6.tgz", + "integrity": "sha512-lVyKV2y58UE9CeKVcYykULe9QaE1dtKdxDEdrTPIdbzRgBk6bdxHNAoDqvcqXbIGXubn3VOl1O/CFF77v/EqSA==", + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.0.6", + "@tailwindcss/oxide-darwin-arm64": "4.0.6", + "@tailwindcss/oxide-darwin-x64": "4.0.6", + "@tailwindcss/oxide-freebsd-x64": "4.0.6", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.6", + "@tailwindcss/oxide-linux-arm64-gnu": "4.0.6", + "@tailwindcss/oxide-linux-arm64-musl": "4.0.6", + "@tailwindcss/oxide-linux-x64-gnu": "4.0.6", + "@tailwindcss/oxide-linux-x64-musl": "4.0.6", + "@tailwindcss/oxide-win32-arm64-msvc": "4.0.6", + "@tailwindcss/oxide-win32-x64-msvc": "4.0.6" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.6.tgz", + "integrity": "sha512-xDbym6bDPW3D2XqQqX3PjqW3CKGe1KXH7Fdkc60sX5ZLVUbzPkFeunQaoP+BuYlLc2cC1FoClrIRYnRzof9Sow==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.6.tgz", + "integrity": "sha512-1f71/ju/tvyGl5c2bDkchZHy8p8EK/tDHCxlpYJ1hGNvsYihZNurxVpZ0DefpN7cNc9RTT8DjrRoV8xXZKKRjg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.6.tgz", + "integrity": "sha512-s/hg/ZPgxFIrGMb0kqyeaqZt505P891buUkSezmrDY6lxv2ixIELAlOcUVTkVh245SeaeEiUVUPiUN37cwoL2g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.6.tgz", + "integrity": "sha512-Z3Wo8FWZnmio8+xlcbb7JUo/hqRMSmhQw8IGIRoRJ7GmLR0C+25Wq+bEX/135xe/yEle2lFkhu9JBHd4wZYiig==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.6.tgz", + "integrity": "sha512-SNSwkkim1myAgmnbHs4EjXsPL7rQbVGtjcok5EaIzkHkCAVK9QBQsWeP2Jm2/JJhq4wdx8tZB9Y7psMzHYWCkA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.6.tgz", + "integrity": "sha512-tJ+mevtSDMQhKlwCCuhsFEFg058kBiSy4TkoeBG921EfrHKmexOaCyFKYhVXy4JtkaeeOcjJnCLasEeqml4i+Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.6.tgz", + "integrity": "sha512-IoArz1vfuTR4rALXMUXI/GWWfx2EaO4gFNtBNkDNOYhlTD4NVEwE45nbBoojYiTulajI4c2XH8UmVEVJTOJKxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.6.tgz", + "integrity": "sha512-QtsUfLkEAeWAC3Owx9Kg+7JdzE+k9drPhwTAXbXugYB9RZUnEWWx5x3q/au6TvUYcL+n0RBqDEO2gucZRvRFgQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.6.tgz", + "integrity": "sha512-QthvJqIji2KlGNwLcK/PPYo7w1Wsi/8NK0wAtRGbv4eOPdZHkQ9KUk+oCoP20oPO7i2a6X1aBAFQEL7i08nNMA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.6.tgz", + "integrity": "sha512-+oka+dYX8jy9iP00DJ9Y100XsqvbqR5s0yfMZJuPR1H/lDVtDfsZiSix1UFBQ3X1HWxoEEl6iXNJHWd56TocVw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.6.tgz", + "integrity": "sha512-+o+juAkik4p8Ue/0LiflQXPmVatl6Av3LEZXpBTfg4qkMIbZdhCGWFzHdt2NjoMiLOJCFDddoV6GYaimvK1Olw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.0.6.tgz", + "integrity": "sha512-O25vZ/URWbZ2JHdk2o8wH7jOKqEGCsYmX3GwGmYS5DjE4X3mpf93a72Rn7VRnefldNauBzr5z2hfZptmBNtTUQ==", + "dependencies": { + "@tailwindcss/node": "^4.0.6", + "@tailwindcss/oxide": "^4.0.6", + "lightningcss": "^1.29.1", + "tailwindcss": "4.0.6" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "22.13.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.4.tgz", + "integrity": "sha512-ywP2X0DYtX3y08eFVx5fNIw7/uIv8hYUKgXoK8oayJlLnKcRfEYCxWMVE1XagUdVtCJlZT1AU4LXEABW+L1Peg==", + "dev": true, + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/react": { + "version": "19.0.10", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.10.tgz", + "integrity": "sha512-JuRQ9KXLEjaUNjTWpzuR231Z2WpIwczOkBEIvbHNCzQefFIT0L8IqE6NV6ULLyC1SI/i234JnDoMkfg+RjQj2g==", + "dev": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.0.4", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.0.4.tgz", + "integrity": "sha512-4fSQ8vWFkg+TGhePfUzVmat3eC14TXYSsiiDSLI0dVLsrm9gZFABjPy/Qu6TKgl1tq1Bu1yDsuQgY3A3DOjCcg==", + "dev": true, + "peerDependencies": { + "@types/react": "^19.0.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", + "integrity": "sha512-ll1StnKtBigWIGqvYDVuDmXJHVH4zLVot1yQ4fJtLpL7qacwkxJc1T0bptqw+miBQ/QfUbhl1TcQ4accW5KUyA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/type-utils": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.24.1.tgz", + "integrity": "sha512-Tqoa05bu+t5s8CTZFaGpCH2ub3QeT9YDkXbPd3uQ4SfsLoh1/vv2GEYAioPoxCWJJNsenXlC88tRjwoHNts1oQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.24.1.tgz", + "integrity": "sha512-OdQr6BNBzwRjNEXMQyaGyZzgg7wzjYKfX2ZBV3E04hUCBDv3GQCHiz9RpqdUIiVrMgJGkXm3tcEh4vFSHreS2Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.24.1.tgz", + "integrity": "sha512-/Do9fmNgCsQ+K4rCz0STI7lYB4phTtEXqqCAs3gZW0pnK7lWNkvWd5iW545GSmApm4AzmQXmSqXPO565B4WVrw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.24.1", + "@typescript-eslint/utils": "8.24.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.24.1.tgz", + "integrity": "sha512-9kqJ+2DkUXiuhoiYIUvIYjGcwle8pcPpdlfkemGvTObzgmYfJ5d0Qm6jwb4NBXP9W1I5tss0VIAnWFumz3mC5A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.24.1.tgz", + "integrity": "sha512-UPyy4MJ/0RE648DSKQe9g0VDSehPINiejjA6ElqnFaFIhI6ZEiZAkUI0D5MCk0bQcTf/LVqZStvQ6K4lPn/BRg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/visitor-keys": "8.24.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.24.1.tgz", + "integrity": "sha512-OOcg3PMMQx9EXspId5iktsI3eMaXVwlhC8BvNnX6B5w9a4dVgpkQZuU8Hy67TolKcl+iFWq0XX+jbDGN4xWxjQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.24.1", + "@typescript-eslint/types": "8.24.1", + "@typescript-eslint/typescript-estree": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.24.1.tgz", + "integrity": "sha512-EwVHlp5l+2vp8CoqJm9KikPZgi3gbdZAtabKT9KPShGeOcJhsv4Zdo3oc8T8I0uKEmYoU4ItyxbptjF08enaxg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.24.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", + "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "dev": true, + "dependencies": { + "@babel/core": "^7.26.0", + "@babel/plugin-transform-react-jsx-self": "^7.25.9", + "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "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" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001700", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001700.tgz", + "integrity": "sha512-2S6XIXwaE7K7erT8dY+kLQcpa5ms63XlRkMkReXjle+kf6c5g38vyMl+Z5y8dSxOFDhcFe+nxnn261PLxBSQsQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.102", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz", + "integrity": "sha512-eHhqaja8tE/FNpIiBrvBjFV/SSKpyWHLvxuR9dPTdo+3V9ppdLmFB7ZZQ98qNovcngPLYIz0oOBF9P0FfZef5Q==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", + "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.20.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.20.1.tgz", + "integrity": "sha512-m1mM33o6dBUjxl2qb6wv6nGNwCAsns1eKtaQ4l/NPHeTvhiUPbtdfMyktxN4B3fgHIgsYh1VT3V9txblpQHq+g==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.11.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.20.0", + "@eslint/plugin-kit": "^0.2.5", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.1", + "@types/estree": "^1.0.6", + "@types/json-schema": "^7.0.15", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.2.0", + "eslint-visitor-keys": "^4.2.0", + "espree": "^10.3.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.1.0.tgz", + "integrity": "sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.19.tgz", + "integrity": "sha512-eyy8pcr/YxSYjBoqIFSrlbn9i/xvxUFa8CjzAYo9cFjgGXqq1hyjihcpZvxRLalpaWmueWR81xn7vuKmAFijDQ==", + "dev": true, + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.0.tgz", + "integrity": "sha512-7SFSRCNjBQIZH/xZR3iy5iQYR8aGBE0h3VG6/cwlbrpdciNYBMotQav8c1XI3HjHH+NikUpP53nPdlZSdWmFzA==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz", + "integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "15.15.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", + "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jiti": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", + "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.29.1.tgz", + "integrity": "sha512-FmGoeD4S05ewj+AkhTY+D+myDvXI6eL27FjHIjoyUkO/uw7WZD1fBVs0QxeYWa7E17CUHJaYX/RUGISCtcrG4Q==", + "dependencies": { + "detect-libc": "^1.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-darwin-arm64": "1.29.1", + "lightningcss-darwin-x64": "1.29.1", + "lightningcss-freebsd-x64": "1.29.1", + "lightningcss-linux-arm-gnueabihf": "1.29.1", + "lightningcss-linux-arm64-gnu": "1.29.1", + "lightningcss-linux-arm64-musl": "1.29.1", + "lightningcss-linux-x64-gnu": "1.29.1", + "lightningcss-linux-x64-musl": "1.29.1", + "lightningcss-win32-arm64-msvc": "1.29.1", + "lightningcss-win32-x64-msvc": "1.29.1" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.29.1.tgz", + "integrity": "sha512-HtR5XJ5A0lvCqYAoSv2QdZZyoHNttBpa5EP9aNuzBQeKGfbyH5+UipLWvVzpP4Uml5ej4BYs5I9Lco9u1fECqw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.29.1.tgz", + "integrity": "sha512-k33G9IzKUpHy/J/3+9MCO4e+PzaFblsgBjSGlpAaFikeBFm8B/CkO3cKU9oI4g+fjS2KlkLM/Bza9K/aw8wsNA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.29.1.tgz", + "integrity": "sha512-0SUW22fv/8kln2LnIdOCmSuXnxgxVC276W5KLTwoehiO0hxkacBxjHOL5EtHD8BAXg2BvuhsJPmVMasvby3LiQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.29.1.tgz", + "integrity": "sha512-sD32pFvlR0kDlqsOZmYqH/68SqUMPNj+0pucGxToXZi4XZgZmqeX/NkxNKCPsswAXU3UeYgDSpGhu05eAufjDg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.29.1.tgz", + "integrity": "sha512-0+vClRIZ6mmJl/dxGuRsE197o1HDEeeRk6nzycSy2GofC2JsY4ifCRnvUWf/CUBQmlrvMzt6SMQNMSEu22csWQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.29.1.tgz", + "integrity": "sha512-UKMFrG4rL/uHNgelBsDwJcBqVpzNJbzsKkbI3Ja5fg00sgQnHw/VrzUTEc4jhZ+AN2BvQYz/tkHu4vt1kLuJyw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.29.1.tgz", + "integrity": "sha512-u1S+xdODy/eEtjADqirA774y3jLcm8RPtYztwReEXoZKdzgsHYPl0s5V52Tst+GKzqjebkULT86XMSxejzfISw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.29.1.tgz", + "integrity": "sha512-L0Tx0DtaNUTzXv0lbGCLB/c/qEADanHbu4QdcNOXLIe1i8i22rZRpbT3gpWYsCh9aSL9zFujY/WmEXIatWvXbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.29.1.tgz", + "integrity": "sha512-QoOVnkIEFfbW4xPi+dpdft/zAKmgLgsRHfJalEPYuJDOWf7cLQzYg0DEh8/sn737FaeMJxHZRc1oBreiwZCjog==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.29.1", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.29.1.tgz", + "integrity": "sha512-NygcbThNBe4JElP+olyTI/doBNGJvLs3bFCRPdvuCcxZCcCZ71B858IHpdm7L1btZex0FvCmM17FK98Y9MRy1Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.475.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.475.0.tgz", + "integrity": "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "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" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", + "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.0.0.tgz", + "integrity": "sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==", + "dependencies": { + "scheduler": "^0.25.0" + }, + "peerDependencies": { + "react": "^19.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve-from": { + "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" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.34.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", + "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.6" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.34.8", + "@rollup/rollup-android-arm64": "4.34.8", + "@rollup/rollup-darwin-arm64": "4.34.8", + "@rollup/rollup-darwin-x64": "4.34.8", + "@rollup/rollup-freebsd-arm64": "4.34.8", + "@rollup/rollup-freebsd-x64": "4.34.8", + "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", + "@rollup/rollup-linux-arm-musleabihf": "4.34.8", + "@rollup/rollup-linux-arm64-gnu": "4.34.8", + "@rollup/rollup-linux-arm64-musl": "4.34.8", + "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", + "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", + "@rollup/rollup-linux-riscv64-gnu": "4.34.8", + "@rollup/rollup-linux-s390x-gnu": "4.34.8", + "@rollup/rollup-linux-x64-gnu": "4.34.8", + "@rollup/rollup-linux-x64-musl": "4.34.8", + "@rollup/rollup-win32-arm64-msvc": "4.34.8", + "@rollup/rollup-win32-ia32-msvc": "4.34.8", + "@rollup/rollup-win32-x64-msvc": "4.34.8", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/scheduler": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.25.0.tgz", + "integrity": "sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwind-merge": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.1.tgz", + "integrity": "sha512-AvzE8FmSoXC7nC+oU5GlQJbip2UO7tmOhOfQyOmPhrStOGXHU08j8mZEHZ4BmCqY5dWTCo4ClWkNyRNx1wpT0g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.6.tgz", + "integrity": "sha512-mysewHYJKaXgNOW6pp5xon/emCsfAMnO8WMaGKZZ35fomnR/T5gYnRg2/yRTTrtXiEl1tiVkeRt0eMO6HxEZqw==" + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-api-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz", + "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typescript": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint": { + "version": "8.24.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.24.1.tgz", + "integrity": "sha512-cw3rEdzDqBs70TIcb0Gdzbt6h11BSs2pS0yaq7hDWDBtCCSei1pPSUXE9qUdQ/Wm9NgFg8mKtMt1b8fTHIl1jA==", + "dev": true, + "dependencies": { + "@typescript-eslint/eslint-plugin": "8.24.1", + "@typescript-eslint/parser": "8.24.1", + "@typescript-eslint/utils": "8.24.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" + } + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.0.tgz", + "integrity": "sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.24.2", + "postcss": "^8.5.1", + "rollup": "^4.30.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/studio-shadcn/package.json b/studio-shadcn/package.json new file mode 100644 index 000000000..7babc4437 --- /dev/null +++ b/studio-shadcn/package.json @@ -0,0 +1,38 @@ +{ + "name": "studio-shadcn", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@radix-ui/react-slot": "^1.1.2", + "@tailwindcss/vite": "^4.0.6", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.475.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "tailwindcss": "^4.0.6", + "tailwindcss-animate": "^1.0.7" + }, + "devDependencies": { + "@eslint/js": "^9.19.0", + "@types/node": "^22.13.4", + "@types/react": "^19.0.8", + "@types/react-dom": "^19.0.3", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.19.0", + "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react-refresh": "^0.4.18", + "globals": "^15.14.0", + "typescript": "~5.7.2", + "typescript-eslint": "^8.22.0", + "vite": "^6.1.0" + } +} diff --git a/studio-shadcn/public/vite.svg b/studio-shadcn/public/vite.svg new file mode 100644 index 000000000..e7b8dfb1b --- /dev/null +++ b/studio-shadcn/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/studio-shadcn/src/App.css b/studio-shadcn/src/App.css new file mode 100644 index 000000000..0a1f4627f --- /dev/null +++ b/studio-shadcn/src/App.css @@ -0,0 +1,100 @@ +@import "tailwindcss"; + +@plugin "tailwindcss-animate"; + +@custom-variant dark (&:is(.dark *)); + +:root { + --background: hsl(0 0% 100%); + --foreground: hsl(0 0% 3.9%); + --card: hsl(0 0% 100%); + --card-foreground: hsl(0 0% 3.9%); + --popover: hsl(0 0% 100%); + --popover-foreground: hsl(0 0% 3.9%); + --primary: hsl(0 0% 9%); + --primary-foreground: hsl(0 0% 98%); + --secondary: hsl(0 0% 96.1%); + --secondary-foreground: hsl(0 0% 9%); + --muted: hsl(0 0% 96.1%); + --muted-foreground: hsl(0 0% 45.1%); + --accent: hsl(0 0% 96.1%); + --accent-foreground: hsl(0 0% 9%); + --destructive: hsl(0 84.2% 60.2%); + --destructive-foreground: hsl(0 0% 98%); + --border: hsl(0 0% 89.8%); + --input: hsl(0 0% 89.8%); + --ring: hsl(0 0% 3.9%); + --chart-1: hsl(12 76% 61%); + --chart-2: hsl(173 58% 39%); + --chart-3: hsl(197 37% 24%); + --chart-4: hsl(43 74% 66%); + --chart-5: hsl(27 87% 67%); + --radius: 0.6rem; +} + +.dark { + --background: hsl(0 0% 3.9%); + --foreground: hsl(0 0% 98%); + --card: hsl(0 0% 3.9%); + --card-foreground: hsl(0 0% 98%); + --popover: hsl(0 0% 3.9%); + --popover-foreground: hsl(0 0% 98%); + --primary: hsl(0 0% 98%); + --primary-foreground: hsl(0 0% 9%); + --secondary: hsl(0 0% 14.9%); + --secondary-foreground: hsl(0 0% 98%); + --muted: hsl(0 0% 14.9%); + --muted-foreground: hsl(0 0% 63.9%); + --accent: hsl(0 0% 14.9%); + --accent-foreground: hsl(0 0% 98%); + --destructive: hsl(0 62.8% 30.6%); + --destructive-foreground: hsl(0 0% 98%); + --border: hsl(0 0% 14.9%); + --input: hsl(0 0% 14.9%); + --ring: hsl(0 0% 83.1%); + --chart-1: hsl(220 70% 50%); + --chart-2: hsl(160 60% 45%); + --chart-3: hsl(30 80% 55%); + --chart-4: hsl(280 65% 60%); + --chart-5: hsl(340 75% 55%); +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-chart-1: var(--chart-1); + --color-chart-2: var(--chart-2); + --color-chart-3: var(--chart-3); + --color-chart-4: var(--chart-4); + --color-chart-5: var(--chart-5); + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); +} + +@layer base { + * { + @apply border-border outline-ring/50; + } + body { + @apply bg-background text-foreground; + } +} diff --git a/studio-shadcn/src/App.tsx b/studio-shadcn/src/App.tsx new file mode 100644 index 000000000..e9319fd8c --- /dev/null +++ b/studio-shadcn/src/App.tsx @@ -0,0 +1,16 @@ + +import { Button } from "@/components/ui/button" +import './App.css' + +function App() { + return ( + <> +

+ Hello world! +

+ + + ) +} + +export default App diff --git a/studio-shadcn/src/assets/react.svg b/studio-shadcn/src/assets/react.svg new file mode 100644 index 000000000..6c87de9bb --- /dev/null +++ b/studio-shadcn/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/studio-shadcn/src/components/ui/button.tsx b/studio-shadcn/src/components/ui/button.tsx new file mode 100644 index 000000000..61875fc16 --- /dev/null +++ b/studio-shadcn/src/components/ui/button.tsx @@ -0,0 +1,58 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 ring-ring/10 dark:ring-ring/20 dark:outline-ring/40 outline-ring/50 focus-visible:ring-4 focus-visible:outline-1 aria-invalid:focus-visible:ring-0", + { + variants: { + variant: { + default: + "bg-primary text-primary-foreground shadow-sm hover:bg-primary/90", + destructive: + "bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90", + outline: + "border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground", + secondary: + "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2 has-[>svg]:px-3", + sm: "h-8 rounded-md px-3 has-[>svg]:px-2.5", + lg: "h-10 rounded-md px-6 has-[>svg]:px-4", + icon: "size-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Button({ + className, + variant, + size, + asChild = false, + ...props +}: React.ComponentProps<"button"> & + VariantProps & { + asChild?: boolean + }) { + const Comp = asChild ? Slot : "button" + + return ( + + ) +} + +export { Button, buttonVariants } diff --git a/studio-shadcn/src/index.css b/studio-shadcn/src/index.css new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/studio-shadcn/src/index.css @@ -0,0 +1 @@ + diff --git a/studio-shadcn/src/lib/utils.ts b/studio-shadcn/src/lib/utils.ts new file mode 100644 index 000000000..bd0c391dd --- /dev/null +++ b/studio-shadcn/src/lib/utils.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from "clsx" +import { twMerge } from "tailwind-merge" + +export function cn(...inputs: ClassValue[]) { + return twMerge(clsx(inputs)) +} diff --git a/studio-shadcn/src/main.tsx b/studio-shadcn/src/main.tsx new file mode 100644 index 000000000..bef5202a3 --- /dev/null +++ b/studio-shadcn/src/main.tsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.tsx' + +createRoot(document.getElementById('root')!).render( + + + , +) diff --git a/studio-shadcn/src/vite-env.d.ts b/studio-shadcn/src/vite-env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/studio-shadcn/src/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/studio-shadcn/tsconfig.app.json b/studio-shadcn/tsconfig.app.json new file mode 100644 index 000000000..6b2e117d8 --- /dev/null +++ b/studio-shadcn/tsconfig.app.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + }, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["src"] +} diff --git a/studio-shadcn/tsconfig.json b/studio-shadcn/tsconfig.json new file mode 100644 index 000000000..fec8c8e5c --- /dev/null +++ b/studio-shadcn/tsconfig.json @@ -0,0 +1,13 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ], + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/studio-shadcn/tsconfig.node.json b/studio-shadcn/tsconfig.node.json new file mode 100644 index 000000000..db0becc8b --- /dev/null +++ b/studio-shadcn/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "ES2022", + "lib": ["ES2023"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "isolatedModules": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedSideEffectImports": true + }, + "include": ["vite.config.ts"] +} diff --git a/studio-shadcn/vite.config.ts b/studio-shadcn/vite.config.ts new file mode 100644 index 000000000..7b0e37b41 --- /dev/null +++ b/studio-shadcn/vite.config.ts @@ -0,0 +1,14 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react' +import tailwindcss from "@tailwindcss/vite"; +import path from "path" + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [tailwindcss(),react()], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + }, + }, +}) From ffebc73334aab3dde02fc00a390bf553da33f9cd Mon Sep 17 00:00:00 2001 From: surajmn1 Date: Wed, 19 Feb 2025 13:09:50 +0530 Subject: [PATCH 02/78] web: update shadcn theme --- studio-shadcn/src/App.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/studio-shadcn/src/App.css b/studio-shadcn/src/App.css index 0a1f4627f..671f6c49e 100644 --- a/studio-shadcn/src/App.css +++ b/studio-shadcn/src/App.css @@ -11,13 +11,13 @@ --card-foreground: hsl(0 0% 3.9%); --popover: hsl(0 0% 100%); --popover-foreground: hsl(0 0% 3.9%); - --primary: hsl(0 0% 9%); + --primary: hsl(221.92 31.88% 44.9%); --primary-foreground: hsl(0 0% 98%); - --secondary: hsl(0 0% 96.1%); + --secondary: hsl(167.37 37.25% 90%); --secondary-foreground: hsl(0 0% 9%); --muted: hsl(0 0% 96.1%); --muted-foreground: hsl(0 0% 45.1%); - --accent: hsl(0 0% 96.1%); + --accent: hsl(167.37 37.25% 90%); --accent-foreground: hsl(0 0% 9%); --destructive: hsl(0 84.2% 60.2%); --destructive-foreground: hsl(0 0% 98%); From 6e2a74072c6726b7cc38115eb9924003bad35bb6 Mon Sep 17 00:00:00 2001 From: rapoler Date: Wed, 19 Feb 2025 12:47:58 +0530 Subject: [PATCH 03/78] add routing and sidebar to the application --- studio-shadcn/index.html | 4 +- studio-shadcn/package-lock.json | 885 ++++++++++++++++++ studio-shadcn/package.json | 9 + studio-shadcn/src/App.css | 24 + studio-shadcn/src/App.tsx | 70 +- studio-shadcn/src/assets/dega-short.png | Bin 0 -> 1012 bytes studio-shadcn/src/assets/dega.jpg | Bin 0 -> 7346 bytes studio-shadcn/src/assets/react.svg | 1 - .../src/components/GlobalNav/Sidebar.tsx | 259 +++++ studio-shadcn/src/components/ui/card.tsx | 68 ++ .../src/components/ui/collapsible.tsx | 31 + studio-shadcn/src/components/ui/input.tsx | 19 + studio-shadcn/src/components/ui/popover.tsx | 46 + studio-shadcn/src/components/ui/separator.tsx | 28 + studio-shadcn/src/components/ui/sheet.tsx | 137 +++ studio-shadcn/src/components/ui/sidebar.tsx | 733 +++++++++++++++ studio-shadcn/src/components/ui/skeleton.tsx | 13 + studio-shadcn/src/components/ui/tooltip.tsx | 61 ++ studio-shadcn/src/config/routesConfig.ts | 216 +++++ studio-shadcn/src/hooks/use-mobile.ts | 21 + studio-shadcn/src/index.css | 77 ++ studio-shadcn/src/layouts/basic.tsx | 13 + studio-shadcn/src/pages/analytics/index.tsx | 10 + studio-shadcn/src/pages/dashboard/index.tsx | 10 + studio-shadcn/src/pages/settings/index.tsx | 10 + studio-shadcn/tailwind.config.ts | 84 ++ 26 files changed, 2815 insertions(+), 14 deletions(-) create mode 100644 studio-shadcn/src/assets/dega-short.png create mode 100644 studio-shadcn/src/assets/dega.jpg delete mode 100644 studio-shadcn/src/assets/react.svg create mode 100644 studio-shadcn/src/components/GlobalNav/Sidebar.tsx create mode 100644 studio-shadcn/src/components/ui/card.tsx create mode 100644 studio-shadcn/src/components/ui/collapsible.tsx create mode 100644 studio-shadcn/src/components/ui/input.tsx create mode 100644 studio-shadcn/src/components/ui/popover.tsx create mode 100644 studio-shadcn/src/components/ui/separator.tsx create mode 100644 studio-shadcn/src/components/ui/sheet.tsx create mode 100644 studio-shadcn/src/components/ui/sidebar.tsx create mode 100644 studio-shadcn/src/components/ui/skeleton.tsx create mode 100644 studio-shadcn/src/components/ui/tooltip.tsx create mode 100644 studio-shadcn/src/config/routesConfig.ts create mode 100644 studio-shadcn/src/hooks/use-mobile.ts create mode 100644 studio-shadcn/src/layouts/basic.tsx create mode 100644 studio-shadcn/src/pages/analytics/index.tsx create mode 100644 studio-shadcn/src/pages/dashboard/index.tsx create mode 100644 studio-shadcn/src/pages/settings/index.tsx create mode 100644 studio-shadcn/tailwind.config.ts diff --git a/studio-shadcn/index.html b/studio-shadcn/index.html index e4b78eae1..035e1db5e 100644 --- a/studio-shadcn/index.html +++ b/studio-shadcn/index.html @@ -1,10 +1,10 @@ - + - Vite + React + TS + Dega
diff --git a/studio-shadcn/package-lock.json b/studio-shadcn/package-lock.json index f21e398c8..3937485e7 100644 --- a/studio-shadcn/package-lock.json +++ b/studio-shadcn/package-lock.json @@ -8,13 +8,21 @@ "name": "studio-shadcn", "version": "0.0.0", "dependencies": { + "@radix-ui/react-collapsible": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-popover": "^1.1.6", + "@radix-ui/react-separator": "^1.1.2", "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.5.1", "@tailwindcss/vite": "^4.0.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.475.0", "react": "^19.0.0", "react-dom": "^19.0.0", + "react-redux": "^9.2.0", + "react-router-dom": "^7.1.5", "tailwind-merge": "^3.0.1", "tailwindcss": "^4.0.6", "tailwindcss-animate": "^1.0.7" @@ -24,6 +32,7 @@ "@types/node": "^22.13.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@types/tailwindcss": "^3.0.11", "@vitejs/plugin-react": "^4.3.4", "eslint": "^9.19.0", "eslint-plugin-react-hooks": "^5.0.0", @@ -853,6 +862,44 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.9" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.2.tgz", + "integrity": "sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", + "license": "MIT" + }, "node_modules/@humanfs/core": { "version": "0.19.1", "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", @@ -997,6 +1044,65 @@ "node": ">= 8" } }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", + "license": "MIT" + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.2.tgz", + "integrity": "sha512-G+KcpzXHq24iH0uGG/pF8LyzpFJYGD4RfLjCIBfGdSLXvjLHST31RUiRVrupIBMvIppMgSzQ6l66iAxl03tdlg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collapsible": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-1.1.3.tgz", + "integrity": "sha512-jFSerheto1X03MUC0g6R7LedNW9EEGWdg9W1+MlpkMLwGkgkbUXLPBH/KIuWKXUoeYRVY11llqbTBDzuLg7qrw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-compose-refs": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", @@ -1011,10 +1117,310 @@ } } }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.6.tgz", + "integrity": "sha512-/IVhJV5AceX620DUJ4uYVMymzsipdKBzo3edo+omeskCKGm9FRHM0ebIdbPnlQVJqyuHbuBltQUOG2mOTq2IYw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.5.tgz", + "integrity": "sha512-E4TywXY6UsXNRhFrECa5HAvE5/4BFcGyfTyK36gP+pAW1ed7UTK4vKwdr53gAJYwqbfCWC6ATvJa3J3R/9+Qrg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", + "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.2.tgz", + "integrity": "sha512-zxwE80FCU7lcXUGWkdt6XpTTCKPitG1XKOwViTxHVKIJhZl9MvIl2dVHeZENCWD9+EdWv05wlaEkRXUykU27RA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.6.tgz", + "integrity": "sha512-NQouW0x4/GnkFJ/pRqsIS3rM/k97VzKnVb2jB7Gq7VEGPy5g7uNV1ykySFt7eWSp3i2uSGFwaJcvIRJBAHmmFg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.2", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.2.4", + "react-remove-scroll": "^2.6.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.2.tgz", + "integrity": "sha512-Rvqc3nOpwseCyj/rgjlJDYAgyfw7OC1tTkKn2ivhaMGcYt8FSBlahHOZak2i3QwkRXUXgGgzeEe2RuqeEHuHgA==", + "license": "MIT", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.2", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-rect": "1.1.0", + "@radix-ui/react-use-size": "1.1.0", + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.4.tgz", + "integrity": "sha512-sn2O9k1rPFYVyKd5LAJfo96JlSGVFpa1fS6UuBJfrZadudiw5tAmru+n1x7aMRQ84qDM71Zh1+SzK5QwU0tJfA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.2.tgz", + "integrity": "sha512-Ec/0d38EIuvDF+GZjcMU/Ze6MxntVJYO/fRlCPhCaVUyPY9WTalHJw54tp9sXeJo3tlShWpy41vQRgLRGOuz+w==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-slot": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-separator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.1.2.tgz", + "integrity": "sha512-oZfHcaAp2Y6KFBX6I5P1u7CQoy4lheCGiYj+pGFrHy8E/VNRb5E39TkTr3JrV520csPBTZjkuKFdEsjS5EUNKQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.2.tgz", "integrity": "sha512-YAKxaiGsSQJ38VzKH86/BPRC4rh+b1Jpa+JneA5LRE7skmLPNAyeG8kPJj/oo4STLvlrs8vkf/iYyc3A5stYCQ==", + "license": "MIT", "dependencies": { "@radix-ui/react-compose-refs": "1.1.1" }, @@ -1028,6 +1434,195 @@ } } }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.8.tgz", + "integrity": "sha512-YAA2cu48EkJZdAMHC0dqo9kialOcRStbtiY4nJPaht7Ptrhcvpo+eDChaM6BIs8kL6a8Z5l5poiqLnXcNduOkA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.5", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.2", + "@radix-ui/react-portal": "1.1.4", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.2", + "@radix-ui/react-slot": "1.1.2", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz", + "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz", + "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.2.tgz", + "integrity": "sha512-1SzA4ns2M1aRlvxErqhLHsBHoS5eI5UUcI2awAMgGUp4LoaoWOKYmvqDY2s/tltuPkh3Yk77YF/r3IRj+Amx4Q==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz", + "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==", + "license": "MIT" + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.1.tgz", + "integrity": "sha512-UHhy3p0oUpdhnSxyDjaRDYaw8Xra75UiLbCiRozVPHjfDwNYkh0TsVm/1OmTW8Md+iDAJmYPWUKMvsMc2GtpNg==", + "license": "MIT", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.34.8", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", @@ -1526,6 +2121,12 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==", + "license": "MIT" + }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", @@ -1565,6 +2166,19 @@ "@types/react": "^19.0.0" } }, + "node_modules/@types/tailwindcss": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/tailwindcss/-/tailwindcss-3.0.11.tgz", + "integrity": "sha512-PR+BOIrI+rxteHwFvkfIOty+PDJwTG4ute3alxSSXpF/xKpryO1room265m46Auyae0VwqUYs3PuVEOF9Oil3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.24.1", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.24.1.tgz", @@ -1850,6 +2464,18 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -1959,6 +2585,7 @@ "version": "0.7.1", "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", "dependencies": { "clsx": "^2.1.1" }, @@ -2004,6 +2631,15 @@ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -2058,6 +2694,12 @@ "node": ">=0.10" } }, + "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==", + "license": "MIT" + }, "node_modules/electron-to-chromium": { "version": "1.5.102", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.102.tgz", @@ -2441,6 +3083,15 @@ "node": ">=6.9.0" } }, + "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==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", @@ -2494,6 +3145,16 @@ "node": ">= 4" } }, + "node_modules/immer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.1.1.tgz", + "integrity": "sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/import-fresh": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", @@ -2896,6 +3557,7 @@ "version": "0.475.0", "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.475.0.tgz", "integrity": "sha512-NJzvVu1HwFVeZ+Gwq2q00KygM1aBhy/ZrhY9FsAgJtpB+E4R7uxRk9M2iKvHa6/vNxZydIB59htha4c2vvwvVg==", + "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } @@ -3150,6 +3812,29 @@ "react": "^19.0.0" } }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "license": "MIT", + "dependencies": { + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -3159,6 +3844,136 @@ "node": ">=0.10.0" } }, + "node_modules/react-remove-scroll": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.2", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.1.5.tgz", + "integrity": "sha512-8BUF+hZEU4/z/JD201yK6S+UYhsf58bzYIDq2NS1iGpwxSXDu7F+DeGSkIXMFBuHZB21FSiCzEcUb18cQNdRkA==", + "license": "MIT", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.1.5.tgz", + "integrity": "sha512-/4f9+up0Qv92D3bB8iN5P1s3oHAepSGa9h5k6tpTFlixTTskJZwKGhJ6vRJ277tLD1zuaZTt95hyGWV1Z37csQ==", + "license": "MIT", + "dependencies": { + "react-router": "7.1.5" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" + } + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3253,6 +4068,12 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==", + "license": "MIT" + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -3361,6 +4182,18 @@ "typescript": ">=4.8.4" } }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==", + "license": "ISC" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -3453,6 +4286,58 @@ "punycode": "^2.1.0" } }, + "node_modules/use-callback-ref": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/vite": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/vite/-/vite-6.1.0.tgz", diff --git a/studio-shadcn/package.json b/studio-shadcn/package.json index 7babc4437..6a7db2bdd 100644 --- a/studio-shadcn/package.json +++ b/studio-shadcn/package.json @@ -10,13 +10,21 @@ "preview": "vite preview" }, "dependencies": { + "@radix-ui/react-collapsible": "^1.1.3", + "@radix-ui/react-dialog": "^1.1.6", + "@radix-ui/react-popover": "^1.1.6", + "@radix-ui/react-separator": "^1.1.2", "@radix-ui/react-slot": "^1.1.2", + "@radix-ui/react-tooltip": "^1.1.8", + "@reduxjs/toolkit": "^2.5.1", "@tailwindcss/vite": "^4.0.6", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "lucide-react": "^0.475.0", "react": "^19.0.0", "react-dom": "^19.0.0", + "react-redux": "^9.2.0", + "react-router-dom": "^7.1.5", "tailwind-merge": "^3.0.1", "tailwindcss": "^4.0.6", "tailwindcss-animate": "^1.0.7" @@ -26,6 +34,7 @@ "@types/node": "^22.13.4", "@types/react": "^19.0.8", "@types/react-dom": "^19.0.3", + "@types/tailwindcss": "^3.0.11", "@vitejs/plugin-react": "^4.3.4", "eslint": "^9.19.0", "eslint-plugin-react-hooks": "^5.0.0", diff --git a/studio-shadcn/src/App.css b/studio-shadcn/src/App.css index 671f6c49e..7af12fe8a 100644 --- a/studio-shadcn/src/App.css +++ b/studio-shadcn/src/App.css @@ -30,6 +30,14 @@ --chart-4: hsl(43 74% 66%); --chart-5: hsl(27 87% 67%); --radius: 0.6rem; + --sidebar: hsl(0 0% 98%); + --sidebar-foreground: hsl(240 5.3% 26.1%); + --sidebar-primary: hsl(240 5.9% 10%); + --sidebar-primary-foreground: hsl(0 0% 98%); + --sidebar-accent: hsl(240 4.8% 95.9%); + --sidebar-accent-foreground: hsl(240 5.9% 10%); + --sidebar-border: hsl(220 13% 91%); + --sidebar-ring: hsl(217.2 91.2% 59.8%); } .dark { @@ -57,6 +65,14 @@ --chart-3: hsl(30 80% 55%); --chart-4: hsl(280 65% 60%); --chart-5: hsl(340 75% 55%); + --sidebar: hsl(240 5.9% 10%); + --sidebar-foreground: hsl(240 4.8% 95.9%); + --sidebar-primary: hsl(224.3 76.3% 48%); + --sidebar-primary-foreground: hsl(0 0% 100%); + --sidebar-accent: hsl(240 3.7% 15.9%); + --sidebar-accent-foreground: hsl(240 4.8% 95.9%); + --sidebar-border: hsl(240 3.7% 15.9%); + --sidebar-ring: hsl(217.2 91.2% 59.8%); } @theme inline { @@ -88,6 +104,14 @@ --radius-md: calc(var(--radius) - 2px); --radius-lg: var(--radius); --radius-xl: calc(var(--radius) + 4px); + --color-sidebar-ring: var(--sidebar-ring); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar: var(--sidebar); } @layer base { diff --git a/studio-shadcn/src/App.tsx b/studio-shadcn/src/App.tsx index e9319fd8c..c0124495e 100644 --- a/studio-shadcn/src/App.tsx +++ b/studio-shadcn/src/App.tsx @@ -1,16 +1,64 @@ - -import { Button } from "@/components/ui/button" -import './App.css' +import { BrowserRouter, Routes, Route } from "react-router-dom"; +import { BasicLayout } from "./layouts/basic"; +import { Dashboard } from "./pages/dashboard"; +import { Analytics } from "./pages/analytics"; +import { routes } from "../src/config/routesConfig"; +import "./App.css"; function App() { return ( - <> -

- Hello world! -

- - - ) + + + }> + } /> + } /> + Search Page} /> + {/* Core Routes */} + Posts Page} /> + Pages Page} /> + Categories Page} + /> + Tags Page} /> + Media Page} /> + + {/* Fact Checking Routes */} + Fact Check Page} + /> + Claims Page} /> + Claimants Page} + /> + Ratings Page} /> + Google Fact Check Page} + /> + SACH Page} /> + + {/* Administration Routes */} + Spaces Page} /> + Requests Page} + /> + Permissions Page} + /> + Events Page} /> + Settings Page} + /> + + + + ); } -export default App +export default App; diff --git a/studio-shadcn/src/assets/dega-short.png b/studio-shadcn/src/assets/dega-short.png new file mode 100644 index 0000000000000000000000000000000000000000..3949d19ff2fbcc4ac8c26fc87501a990964f3483 GIT binary patch literal 1012 zcmV@c70p^u1i>YnQ-0 z^*B>f%I4xv2 zCOWI{q2o>^{?ZIzbWte8xeW{q?8KcR39PgW_V)I|f*_3#N01+gfe#;1aJnw!Qanhf zU^biCRZuULlwxFLmlLUCUOed{*ul*6s-dBw9gGwW3*AF8GP0tgBE#0!R=BOL z?c7=xZ=1~~na$kXTnMCvo0b1FGCtJM&|ncI)YsP+kjv%R)z!t7Pft(tr&_H>k+6uO zrKRN!NN?QCi#@HattPRT*C5)R8KK?XU8F?BrKKfoZ*RxTJ#1}lO_We$W1|sL1M_D2 z*xTESv3qNEbv0}A4<-{vP^Z%& zb#5##FXsfQgmGqOhLdKXD+Q^f+5SpM1My|4CV7!;Go1$;8yi3g4QFR(e67B|9*jmK zU-S8VV6|GIpr8N_4-eH&r_&5+PKzvD^Y9N3iAiZ`Dfd+DKl{yOYHBK@urWek(;*}# zEPN0tj;D}fa>sAZ#USn>DNRLp>^9BHXeojcNHe+bLzcoNBA+3JsUfzp9dd_GxMHjj iLyS-l0000swLi>dGA2=v-NL1{wU_<>e$UY%q;eGps4;6=-BwgKlU6AoEB}isWljhIz%uKS)+aVpmb}Mh!8W;7S?`(Fk zS`-U8rJ=T7P>H%*Z;=(;&H;x@{>v1UY4&s#>!?j4^v)L^=+smr9`93vdYQ^aUt3MLb9tJti;YgZ@2`= z@gHpbP zRUi>7)z_Ps5H8XA8R-}ORYtBC_$>PD_#3IMXmH$DwUANxR|0Ft3Jdd7zZT0Z-Y(cH z@DsI-5@eBnIsm}@n?o;VE{#;Cn} zMIEIi$9&>iFeRk?*_qSd+DU}GA~9+?zVXbFUA5+APa2_ex95Ta!Dyu54WUU%!*VK*knd%M^NW$ z;Elu$*d-FjA+k>&e`GJMo*b>B#UlRO)Vl}tT{I1S946z|m9qZV_` zWJiEUdWm*-U~JW4@|fKr;eLPSOsHww*9-~g{sF9bvyQ&hbV<>&m?(3kX~E3ORz?Lr z%8T+3=raj?K-8rzutMl$3uLD;vOuj06_r&`#WArjEv>*^rp#yEB!A`=thJjJi$bKX zL5^hLAV*7!-d`8lF%jgU9Ul_?x4A@QH(UxfHxE(qbDUtu%=Hmx&@6z|0z3V+nQ-8(zR zFs#rSpRuWOLrA`{YkFHnyN-TZ$A`50@FDX{PzkqwmPr>J_&sjzTi#Kjy&{1L z<%(Yk`&--?VFW+obomLj1>|cGQ-dAG@}$5LOsV_LSzO!?hGBA1&$YMIafI%> z;9zU%3h&eiMTF=GeCI>bg9+kbzn6f<&z{{L2PE0Uxs9DOns%17GPU*G`q-K0Uw@uK zUI@BxW9O8$Li0)!zEqN$QKrFB-0;%BkBmjVoO@H0+H3is38A??(>|7>uEB@=3$~#0 zntLJg6Lq^uy&e7QC+NY4)RYj=PFHz0&3p)x$SW$x&jkL24)Y;L;Jaf(Dl(YP(xykdpc3Yq;s%}=Njf$F6A~m5ZR%Tv z$+LRQQva8Jzb_dVTsv)vWk!f}U6f-$`pt?kysUxeTeWKBc-Z6r|$TECvu8OyA00VsgdSV^iF+`&tZXtvRhDNA< zoEXMU^xIN$bPR1?y{541K8oddNBsayMIHYdDvZVW>A`VI()9E(E4RxP|~nloof?F@>-cz?>z2` zqU5(DJ-`yzI$$w%8Yk^J5^-)M&bUnMhG}zZrItVJHVGNc4noL$Q%9DnE%fD+wBdIP zq;pwk^x!(R(XswdYa%=*mY2#46*Ko1?m5+rYu%5+4}=?WT2c`RcxMogN$?d^%ptDy zGJ9;CcNz?5-v(FUUA0(-Yv+s;GdJx|0^){u*nlP!9RPBkgr2@R zJKd3UsX1nHYl*^#_;GYv$Gf1aiTy!OEk$o>YG`GCjjbN8T-5fOs6Ylhs`ps|e#S}5 zEGx=-&KT_s?yinf0yT)u)9PN&Xw9>`;AcV?qL}&WvrxrBv`=+ zj9p=fYj-!y9%->9N`Gt9ni##I*u50ZytbIurzbWflXJ#y=brfV0K3v<+Cpz|@w38` z?93rMi|YGTq4H*DG-wlP%{w{|IYZ$mQqm44)f!!{KpL!9taqM%ZH^C2IIgmh4MU})ojfW6*( zP1N}p@FS7Z{&T`D&H%bAZ}Po^5JsM-H_{SO>CXL)b>|rnZUKaLq2A?oG#`BW2^ZQ$ zRo;zo=E6fu{m&0c#B3@qg+C2BdZ{}y*PZd=? zJ6@18@pf#-(p9(n)=CGe3}GLmyP#HWhrFIQtX85m9ANen{a^_V!oqo?Q@}zeweGnf z^iS}J;d3n**4hFw$^0aSC}!&X@-~Cui!_F>I1>{3$dDf{L zrmjqtFK`nbxTw0 zLY54jrxa9yj9z7^B3U+NvKw;Mwz*3WKAyYVmt&m1xoZ46<>xJG!rSUma$}Fem5~5* zzYn`X__;~qdLrvRZxs55y1vM{YEwbS$fK3aMe+I|vGUu5!`YliYUBk65sV_c?uC1= zcJH~r?@rflEIpI%J)2?dPBM8X)wA^4Ad;LwzQUcQ)w_Gr(NlxhTU$0Bd^`U=qD>|C z&fA;r2CJ~vg89<%U(;-O+T64f&viej&4-}jhY8=a$b85UVFhjZe@F=qM*T{#=AP$6 zMxEd!2T-GDqZb(EiEePzxX8U1ypwCjur^ZhH{+a4fYjlhz5DP7RjN&Q)!26h(0go< zZ0Qs6XgaM*3=PHwm>+(IH=Ca^>GINUNemu1%0>Zy86lp2u`@n~tiz1wxuUAn-maSE zBu;DA4;dcUdt?L0DkQ~8NEna$ufXiZr^c#BzedfhVS7t|{!wPQ*-h-vbfzQ!VN1go9jjkTmZ>Oq9#4+Z>}@Wr;9{ z5?bIVW3XZ;f#;=?&YOR20KUg+1SiiDE~h4Xa`k=cu~Gdi5yH(E1b=i_v!3? zl~Ht9k&d}F4*&sramT7e91XsEe)m0CQ>%6VXJiDSol1NI=SusrlfVkjzal&507t^q zkbTqMOH+jfJM?w%PMaX2tV{+uF@#PK>oklv*XAlaNZ>9q<)aO>iE>>12~(JQQpreL zdjxaO$!44zhUZYA@sk-h*nY=TLc~z7af);6gPN$IGDImdA6eq{{nTX*XXJJ2yZz&; ztZ~<`eU*QZ#z=8ABp-4YDX7V{h=A=1MM@ZEQ2#+Wa~a!r-@f8=>Be3qZ(t6%Mh4Y; z)+0h$7oGQ>MG9F06>i`=V9pJ6T&T6DGYz}RN`yag(3=@b$up{yp+pr^R!-`{wRavK z+3)H{pSOO5`x&Z@gy)B~xk^6s(MRNUxv-N8_DbdJ$`0FNXA6xCztO#{M?SsxK0kOb zR@WM7nz^^==4ICUvv0O~=p)aSFh9+Qq_LrZ1DT%877UJ2w|HZ@uka>dGE1bVSuGma zUhr(fLM2w`yO%@kL%nWV5Tc-H3BRk*F@ z++xB)(ij0`?;;@s?Ac`HV#6077&k=zh_txW@Nn0>ym#|uq_9AH+KH5{^(~G9q1}|H zkF&(XfDwsQK7{fkit7YiWI$tTTi^^j;n?gA+@u2^6641VOudyfcnIckLjL{ifrd-0CG$fPUs?j0hYHOKa>bpbQ!AWi**7p&^)`Fi8s`4jC#{x|+A~zcx>Osz z$3-rI2^H}jsQBhp<{2#%;|2bWXT5rP)fK78@3n&rxycJ~vE8Am+-`Usfvc#_>O`^% zYbWwwMvg#bBIS7_e}8M7xHYn63s6&dW|2dY62Ou54mZo0ie%FR0@3b7A2T44XD(vQ z^#6A(?k$9JO2`gdMptAa_&*)D(MB*IgN}0_lwnakybF(KLX}>Z_LbMjP zDYzDk1$cxQ2QwVQY#ze@k>>;=#kHd!4XTB5r8#UQOTI_qFkXWNO=*#333qv&8ujRQ zPmeR#279c)LXHpb6a1*T0#2Brx|rnVP=+N)wm34-N){w=$YOG%?IiAMXOZ|gox#iY zsaf6TdVzY(<;0pHX|+P)D;v7igj}*e=TfHqOyO)k=Q5m|{EFu_UO%o^<2?Rya)g7v z`hAW@6xVB!V8yMW_lg)JCj*s1#B#SgA)a@Hs{)u269k=8Lfg^F!Tc(a&ZKr>)03bg zZ7N(x(1!T|@9=;zB+XR@Gs7$Kp5ran=8X$mk7rGQ$anJ_e%;g~yn6<92c8a6UQ_(C zheVHC3!7@+$UFWSHBqk|tgX=kbHCtUuGk<~c5O1n->KUwt4MioUxQD3J?@N1j&fKjcFTAbsVDt{)!7=PM})3rb1JY;hwYpu=ucZ{x-i23!vG>2eSF`b(#e2goqCbEevwTR0*$cd$gJ7$i8f$WW^oU&EW;PK2J7Ac2N5B=m1-;ZW zHZB93uv!gxLdzM|ch@SekGlLT$8dbpx9Q89%Yozi^%+Zr*2eb7b8&C0EFTP)Z$zT@ zrpP8L=H4+MRi8#+MQz${SX_Bgbiy5>d*O$+omX$`{3Q0xT>Bho*vS)9=Y-+^1eSZY zKpn#klgibi6Q7nc80JTDSQ>lwJgaqvJk4Dri(o>{W$WueLjd01+yc0*8b@=_p{2b1 zgATvDwo5#W%{`B+un&1qaP(+O8>uj>impd$OJ z#{}{!@IC$X$ilU;t$I!|X&P@1=96%bOmGx&Y?pg_>;kbHDuE9xN!HP?;hhDY>{v%e z+e_W){zb>eV3+`|Qz^&o&VzGj&B+PT}t)kUNsY7yRRd;LV=gyT-1ugO&@TOqE?Ev*z1g2{z5!586 z!QhGTy1Dqa<90qkG_5&3Em8t+-82z-(hcmq5@kXs%dgb(A&2=8XTw=3-c)lvk?F2e z(&4~P@>nDJ?W19wv`F^ZzwbX|PpL*YKQDG6p7RX$Oy4Wgv@O%2G{pLT`nZCsI`U`1 zH<~Civ+(k)4T;nLW01Axv|~&F&$)7sInDpz%8cM54Y+13o%HvF>E$cK(l+tTlOyGA zKxp^Pi`VL&;Pn}E$;K}EXN_ZArww`o%I^}SgN?RY9G-(gY00F!ktV|w_`$nH$1i+b zdMOmHNppVnV<`po*3Zh`rVo{Gzp|!o)6_jQoAP|o(D3OZibZXSM!lA+%XE!J*BUGmDf!L0=9a{$pjSxK4f}}cUYS> zBWO~f3Z0koYuvfg=`_XVu7{Jl>t0H=+E!paOT;a0)FHl|r}T7YO1*;+f2lb==DU(h zU1K~g$4faG36$5zX`7bVr;oqs(@lBEekoaA+?-ivZ`iVwg>I-E`_XD>?*4=>k?CCJ zv8Isf>^#fswHX+ycD^%$ki2I*KlU5Yk!AeMB!ZK4YUb6 zoWMJ=B6`{>KxkAz2w4gD*?2^qt6%vBFL6BrCQ{`ZCeY! z+ZkVa0|V8wvuj~}Y37L@}RCED} zL{q4#@z91aU`v~pXeY~*HOAFL#lg9&KzTgNx~uJU#+)Ns_y$hGdDPUzd$A{wX~2^0 z65mVzOV{*w+U2v~5IC(>qlDgGr&QD5yj?C<(o-v}4CYs=+HBNi7zac(+pM8}!cIoc zS^8OFl}2S7%D`rDnV7%ktgP>4T1nJWvJ>U&vdI3WvR{H^7ZKz2{Nt^Sw;V`2;KaTO z-s3~0d1}No>QOveJ&wtON8wNU0JG6$xDg!>R0O)G?JUrc&>!%i`g1q?+ILNu=+_o0 z3(Psk8CwZmyM*FcT6I%WQX$N~G_1hS>~;oXY~eC?<=#5|Qn810OmL;eSk;DRe>OsL zM5kfvvX$|pFPvnaXgmXRTZxVyud{x z8Z)%%&<%pP|D(a^%0r*4JPP$tt&|Y&H}~7K!-Bq_@=!=5Av||ioePS!5vId|))5cOd+!{{aYJ+A9D6 literal 0 HcmV?d00001 diff --git a/studio-shadcn/src/assets/react.svg b/studio-shadcn/src/assets/react.svg deleted file mode 100644 index 6c87de9bb..000000000 --- a/studio-shadcn/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/studio-shadcn/src/components/GlobalNav/Sidebar.tsx b/studio-shadcn/src/components/GlobalNav/Sidebar.tsx new file mode 100644 index 000000000..4fc8cfd1b --- /dev/null +++ b/studio-shadcn/src/components/GlobalNav/Sidebar.tsx @@ -0,0 +1,259 @@ +import { useState } from "react"; +import { Link, useLocation } from "react-router-dom"; +import { Button } from "@/components/ui/button"; +import { cn } from "@/lib/utils"; +import { + Collapsible, + CollapsibleContent, + CollapsibleTrigger, +} from "@/components/ui/collapsible"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; +import degaShort from "@/assets/dega-short.png"; +import degaLogo from "@/assets/dega.jpg"; +import { + ChevronDown, + LayoutDashboard, + Settings, + Microchip, + Shield, + ListCheck, + LogOut, + HelpCircle, + ArrowLeftToLine, + ArrowRightToLine, + Search, +} from "lucide-react"; + +const menuItems = [ + { + title: "Dashboard", + icon: LayoutDashboard, + path: "/dashboard", + children: [ + { title: "Home", path: "/" }, + { title: "Analytics", path: "/analytics" }, + ], + }, + { + title: "Search", + icon: Search, + path: "/search", + type: "link", + }, + { + title: "Core", + icon: Microchip, + children: [ + { title: "Posts", path: "/posts" }, + { title: "Pages", path: "/pages" }, + { title: "Media", path: "/media" }, + ], + }, + { + title: "Fact checking", + icon: ListCheck, + children: [ + { title: "Claims", path: "/claims" }, + { title: "Ratings", path: "/ratings" }, + ], + }, + { + title: "Administration", + icon: Shield, + children: [ + { title: "Users", path: "/users" }, + { title: "Roles", path: "/roles" }, + ], + }, + { + title: "Settings", + icon: Settings, + path: "/settings", + type: "link", + }, +]; + +export function Sidebar() { + const [isCollapsed, setIsCollapsed] = useState(false); + const [openSections, setOpenSections] = useState(["Dashboard"]); + const location = useLocation(); + + const toggleSection = (title: string) => { + setOpenSections((prev) => + prev.includes(title) ? prev.filter((t) => t !== title) : [...prev, title] + ); + }; + + return ( + + ); +} diff --git a/studio-shadcn/src/components/ui/card.tsx b/studio-shadcn/src/components/ui/card.tsx new file mode 100644 index 000000000..3ff199be6 --- /dev/null +++ b/studio-shadcn/src/components/ui/card.tsx @@ -0,0 +1,68 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Card({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardDescription({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function CardFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent } diff --git a/studio-shadcn/src/components/ui/collapsible.tsx b/studio-shadcn/src/components/ui/collapsible.tsx new file mode 100644 index 000000000..77f86beda --- /dev/null +++ b/studio-shadcn/src/components/ui/collapsible.tsx @@ -0,0 +1,31 @@ +import * as CollapsiblePrimitive from "@radix-ui/react-collapsible" + +function Collapsible({ + ...props +}: React.ComponentProps) { + return +} + +function CollapsibleTrigger({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function CollapsibleContent({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Collapsible, CollapsibleTrigger, CollapsibleContent } diff --git a/studio-shadcn/src/components/ui/input.tsx b/studio-shadcn/src/components/ui/input.tsx new file mode 100644 index 000000000..596f80669 --- /dev/null +++ b/studio-shadcn/src/components/ui/input.tsx @@ -0,0 +1,19 @@ +import * as React from "react" + +import { cn } from "@/lib/utils" + +function Input({ className, type, ...props }: React.ComponentProps<"input">) { + return ( + + ) +} + +export { Input } diff --git a/studio-shadcn/src/components/ui/popover.tsx b/studio-shadcn/src/components/ui/popover.tsx new file mode 100644 index 000000000..83728a89e --- /dev/null +++ b/studio-shadcn/src/components/ui/popover.tsx @@ -0,0 +1,46 @@ +import * as React from "react" +import * as PopoverPrimitive from "@radix-ui/react-popover" + +import { cn } from "@/lib/utils" + +function Popover({ + ...props +}: React.ComponentProps) { + return +} + +function PopoverTrigger({ + ...props +}: React.ComponentProps) { + return +} + +function PopoverContent({ + className, + align = "center", + sideOffset = 4, + ...props +}: React.ComponentProps) { + return ( + + + + ) +} + +function PopoverAnchor({ + ...props +}: React.ComponentProps) { + return +} + +export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } diff --git a/studio-shadcn/src/components/ui/separator.tsx b/studio-shadcn/src/components/ui/separator.tsx new file mode 100644 index 000000000..67c73e5a5 --- /dev/null +++ b/studio-shadcn/src/components/ui/separator.tsx @@ -0,0 +1,28 @@ +"use client" + +import * as React from "react" +import * as SeparatorPrimitive from "@radix-ui/react-separator" + +import { cn } from "@/lib/utils" + +function Separator({ + className, + orientation = "horizontal", + decorative = true, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { Separator } diff --git a/studio-shadcn/src/components/ui/sheet.tsx b/studio-shadcn/src/components/ui/sheet.tsx new file mode 100644 index 000000000..c165109d1 --- /dev/null +++ b/studio-shadcn/src/components/ui/sheet.tsx @@ -0,0 +1,137 @@ +import * as React from "react" +import * as SheetPrimitive from "@radix-ui/react-dialog" +import { XIcon } from "lucide-react" + +import { cn } from "@/lib/utils" + +function Sheet({ ...props }: React.ComponentProps) { + return +} + +function SheetTrigger({ + ...props +}: React.ComponentProps) { + return +} + +function SheetClose({ + ...props +}: React.ComponentProps) { + return +} + +function SheetPortal({ + ...props +}: React.ComponentProps) { + return +} + +function SheetOverlay({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function SheetContent({ + className, + children, + side = "right", + ...props +}: React.ComponentProps & { + side?: "top" | "right" | "bottom" | "left" +}) { + return ( + + + + {children} + + + Close + + + + ) +} + +function SheetHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function SheetFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function SheetTitle({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function SheetDescription({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +export { + Sheet, + SheetTrigger, + SheetClose, + SheetContent, + SheetHeader, + SheetFooter, + SheetTitle, + SheetDescription, +} diff --git a/studio-shadcn/src/components/ui/sidebar.tsx b/studio-shadcn/src/components/ui/sidebar.tsx new file mode 100644 index 000000000..64bc4ec94 --- /dev/null +++ b/studio-shadcn/src/components/ui/sidebar.tsx @@ -0,0 +1,733 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { VariantProps, cva } from "class-variance-authority" +import { PanelLeftIcon } from "lucide-react" + +import { useIsMobile } from "@/hooks/use-mobile" +import { cn } from "@/lib/utils" +import { Button } from "@/components/ui/button" +import { Input } from "@/components/ui/input" +import { Separator } from "@/components/ui/separator" +import { + Sheet, + SheetContent, + SheetDescription, + SheetHeader, + SheetTitle, +} from "@/components/ui/sheet" +import { Skeleton } from "@/components/ui/skeleton" +import { + Tooltip, + TooltipContent, + TooltipProvider, + TooltipTrigger, +} from "@/components/ui/tooltip" + +const SIDEBAR_COOKIE_NAME = "sidebar_state" +const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7 +const SIDEBAR_WIDTH = "16rem" +const SIDEBAR_WIDTH_MOBILE = "18rem" +const SIDEBAR_WIDTH_ICON = "3rem" +const SIDEBAR_KEYBOARD_SHORTCUT = "b" + +type SidebarContext = { + state: "expanded" | "collapsed" + open: boolean + setOpen: (open: boolean) => void + openMobile: boolean + setOpenMobile: (open: boolean) => void + isMobile: boolean + toggleSidebar: () => void +} + +const SidebarContext = React.createContext(null) + +function useSidebar() { + const context = React.useContext(SidebarContext) + if (!context) { + throw new Error("useSidebar must be used within a SidebarProvider.") + } + + return context +} + +const SidebarProvider = React.forwardRef< + HTMLDivElement, + React.ComponentProps<"div"> & { + defaultOpen?: boolean + open?: boolean + onOpenChange?: (open: boolean) => void + } +>( + ( + { + defaultOpen = true, + open: openProp, + onOpenChange: setOpenProp, + className, + style, + children, + ...props + }, + ref + ) => { + const isMobile = useIsMobile() + const [openMobile, setOpenMobile] = React.useState(false) + + // This is the internal state of the sidebar. + // We use openProp and setOpenProp for control from outside the component. + const [_open, _setOpen] = React.useState(defaultOpen) + const open = openProp ?? _open + const setOpen = React.useCallback( + (value: boolean | ((value: boolean) => boolean)) => { + const openState = typeof value === "function" ? value(open) : value + if (setOpenProp) { + setOpenProp(openState) + } else { + _setOpen(openState) + } + + // This sets the cookie to keep the sidebar state. + document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}` + }, + [setOpenProp, open] + ) + + // Helper to toggle the sidebar. + const toggleSidebar = React.useCallback(() => { + return isMobile + ? setOpenMobile((open) => !open) + : setOpen((open) => !open) + }, [isMobile, setOpen, setOpenMobile]) + + // Adds a keyboard shortcut to toggle the sidebar. + React.useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + if ( + event.key === SIDEBAR_KEYBOARD_SHORTCUT && + (event.metaKey || event.ctrlKey) + ) { + event.preventDefault() + toggleSidebar() + } + } + + window.addEventListener("keydown", handleKeyDown) + return () => window.removeEventListener("keydown", handleKeyDown) + }, [toggleSidebar]) + + // We add a state so that we can do data-state="expanded" or "collapsed". + // This makes it easier to style the sidebar with Tailwind classes. + const state = open ? "expanded" : "collapsed" + + const contextValue = React.useMemo( + () => ({ + state, + open, + setOpen, + isMobile, + openMobile, + setOpenMobile, + toggleSidebar, + }), + [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar] + ) + + return ( + + +
+ {children} +
+
+
+ ) + } +) +SidebarProvider.displayName = "SidebarProvider" + +function Sidebar({ + side = "left", + variant = "sidebar", + collapsible = "offcanvas", + className, + children, + ...props +}: React.ComponentProps<"div"> & { + side?: "left" | "right" + variant?: "sidebar" | "floating" | "inset" + collapsible?: "offcanvas" | "icon" | "none" +}) { + const { isMobile, state, openMobile, setOpenMobile } = useSidebar() + + if (collapsible === "none") { + return ( +
+ {children} +
+ ) + } + + if (isMobile) { + return ( + + + Sidebar + Displays the mobile sidebar. + + +
{children}
+
+
+ ) + } + + return ( +
+ {/* This is what handles the sidebar gap on desktop */} +
+ +
+ ) +} + +function SidebarTrigger({ + className, + onClick, + ...props +}: React.ComponentProps) { + const { toggleSidebar } = useSidebar() + + return ( + + ) +} + +function SidebarRail({ className, ...props }: React.ComponentProps<"button">) { + const { toggleSidebar } = useSidebar() + + return ( + ) +======= +import { BrowserRouter, Routes, Route } from "react-router-dom"; +import { BasicLayout } from "./layouts/basic"; +import { routes } from "./config/routesConfig"; +import "./App.css"; + +function App() { + return ( + + + }> + {Object.values(routes).map((route) => { + if (!route.Component) return null; + + return ( + } + /> + ); + })} + + + + ); +>>>>>>> Stashed changes } export default App diff --git a/studio-shadcn/src/actions/media.ts b/studio-shadcn/src/actions/media.ts new file mode 100644 index 000000000..c7d14c8bc --- /dev/null +++ b/studio-shadcn/src/actions/media.ts @@ -0,0 +1,185 @@ +import axios from 'axios'; +import { Dispatch } from 'redux'; +import { + ADD_MEDIA, + ADD_MEDIA_REQUEST, + SET_MEDIA_LOADING, + RESET_MEDIA, + MEDIA_API, + GET_MEDIUM, + UPDATE_MEDIUM, +} from '../constants/media'; +import { addErrorNotification, addSuccessNotification } from './notifications'; +import getError from '../utils/getError'; + +// Types +interface Medium { + id: number; + [key: string]: any; // Add specific medium properties here +} + +interface MediaResponse { + nodes: Medium[]; + total: number; +} + +interface QueryParams { + [key: string]: string | number | boolean; +} + +// Action Types +interface SetMediaLoadingAction { + type: typeof SET_MEDIA_LOADING; + payload: boolean; +} + +interface AddMediaAction { + type: typeof ADD_MEDIA; + payload: Medium[]; +} + +interface AddMediaRequestAction { + type: typeof ADD_MEDIA_REQUEST; + payload: { + data: number[]; + query: QueryParams; + total: number; + }; +} + +interface GetMediumAction { + type: typeof GET_MEDIUM; + payload: Medium; +} + +interface UpdateMediumAction { + type: typeof UPDATE_MEDIUM; + payload: Medium; +} + +interface ResetMediaAction { + type: typeof RESET_MEDIA; +} + +type MediaActionTypes = + | SetMediaLoadingAction + | AddMediaAction + | AddMediaRequestAction + | GetMediumAction + | UpdateMediumAction + | ResetMediaAction; + +// Action Creators +export const getMedia = (query: QueryParams, profile?: boolean) => { + return (dispatch: Dispatch) => { + dispatch(loadingMedia()); + return axios + .get(MEDIA_API, { + params: query, + }) + .then((response) => { + dispatch(addMedia(response.data.nodes)); + dispatch( + addMediaRequest({ + data: response.data.nodes.map((item) => item.id), + query: query, + total: response.data.total, + }), + ); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopMediaLoading())); + }; +}; + +export const getMedium = (id: number, profile?: boolean) => { + return (dispatch: Dispatch) => { + dispatch(loadingMedia()); + return axios + .get(`${MEDIA_API}/${id}`) + .then((response) => { + dispatch({ type: GET_MEDIUM, payload: response.data }); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopMediaLoading())); + }; +}; + +export const createMedium = (data: Medium | Medium[], profile?: boolean) => { + return (dispatch: Dispatch) => { + dispatch(loadingMedia()); + return axios + .post(MEDIA_API, profile ? (data as Medium[])[0] : data) + .then((response) => { + dispatch(resetMedia()); + dispatch(addSuccessNotification('Medium created')); + return profile ? response.data : (response.data as MediaResponse).nodes[0]; + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }); + }; +}; + +export const updateMedium = (data: Medium) => { + return (dispatch: Dispatch) => { + dispatch(loadingMedia()); + return axios + .put(`${MEDIA_API}/${data.id}`, data) + .then((response) => { + dispatch({ type: UPDATE_MEDIUM, payload: response.data }); + dispatch(addSuccessNotification('Medium updated')); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopMediaLoading())); + }; +}; + +export const deleteMedium = (id: number) => { + return (dispatch: Dispatch) => { + dispatch(loadingMedia()); + return axios + .delete(`${MEDIA_API}/${id}`) + .then(() => { + dispatch(resetMedia()); + dispatch(addSuccessNotification('Medium deleted')); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }); + }; +}; + +export const loadingMedia = (): SetMediaLoadingAction => ({ + type: SET_MEDIA_LOADING, + payload: true, +}); + +export const stopMediaLoading = (): SetMediaLoadingAction => ({ + type: SET_MEDIA_LOADING, + payload: false, +}); + +export const addMedia = (data: Medium[]): AddMediaAction => ({ + type: ADD_MEDIA, + payload: data, +}); + +export const addMediaRequest = (data: { + data: number[]; + query: QueryParams; + total: number; +}): AddMediaRequestAction => ({ + type: ADD_MEDIA_REQUEST, + payload: data, +}); + +export const resetMedia = (): ResetMediaAction => ({ + type: RESET_MEDIA, +}); \ No newline at end of file diff --git a/studio-shadcn/src/actions/notifications.ts b/studio-shadcn/src/actions/notifications.ts new file mode 100644 index 000000000..87308381c --- /dev/null +++ b/studio-shadcn/src/actions/notifications.ts @@ -0,0 +1,38 @@ +import { ADD_NOTIFICATION } from '../constants/notifications'; + +// Define the notification types +type NotificationType = 'error' | 'success'; + +// Interface for the notification payload +interface NotificationPayload { + type: NotificationType; + title: string; + message: string; + time: number; +} + +// Interface for the notification action +interface NotificationAction { + type: typeof ADD_NOTIFICATION; + payload: NotificationPayload; +} + +export const addErrorNotification = (data: string): NotificationAction => ({ + type: ADD_NOTIFICATION, + payload: { + type: 'error', + title: 'Error', + message: data, + time: Date.now(), + }, +}); + +export const addSuccessNotification = (data: string): NotificationAction => ({ + type: ADD_NOTIFICATION, + payload: { + type: 'success', + title: 'Success', + message: data, + time: Date.now(), + }, +}); \ No newline at end of file diff --git a/studio-shadcn/src/actions/ratings.ts b/studio-shadcn/src/actions/ratings.ts new file mode 100644 index 000000000..4a6a1b690 --- /dev/null +++ b/studio-shadcn/src/actions/ratings.ts @@ -0,0 +1,238 @@ +import axios from 'axios'; +import { Dispatch } from 'redux'; +import { + ADD_RATINGS, + ADD_RATINGS_REQUEST, + SET_RATINGS_LOADING, + RESET_RATINGS, + RATINGS_API, + GET_RATING, + UPDATE_RATING, +} from '../constants/ratings'; +import { addErrorNotification, addSuccessNotification } from './notifications'; +import { addMedia } from './media'; +import getError from '../utils/getError'; + +// Types +interface Description { + json: any; + html: string; +} + +interface Medium { + id: number; + [key: string]: any; +} + +interface Rating { + id: number; + description: Description; + description_html?: string; + medium?: Medium; + [key: string]: any; +} + +interface RatingsRequest { + data: number[]; + query: any; + total: number; +} + +interface RatingsAction { + type: string; + payload: any; +} + +// action to create default ratings +export const addDefaultRatings = (query: any) => { + return (dispatch: Dispatch) => { + dispatch(loadingRatings()); + return axios + .post(`${RATINGS_API}/default`) + .then((response) => { + const ratings: Rating[] = response.data.nodes.map((rating: Rating) => ({ + ...rating, + description: { json: rating.description, html: rating.description_html }, + medium: rating.medium?.id + })); + + dispatch(addRatingsList(ratings)); + dispatch( + addRatingsRequest({ + data: response.data.nodes.map((item: Rating) => item.id), + query: query, + total: response.data.total, + }), + ); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopRatingsLoading())); + }; +}; + +// action to fetch all ratings +export const getRatings = (query: any) => { + return (dispatch: Dispatch) => { + dispatch(loadingRatings()); + return axios + .get(RATINGS_API, { + params: query, + }) + .then((response) => { + const mediaItems = response.data.nodes + .filter((rating: Rating) => rating.medium) + .map((rating: Rating) => rating.medium); + + dispatch(addMedia(mediaItems)); + + const ratings: Rating[] = response.data.nodes.map((rating: Rating) => ({ + ...rating, + description: { json: rating.description, html: rating.description_html }, + medium: rating.medium?.id + })); + + dispatch(addRatingsList(ratings)); + dispatch( + addRatingsRequest({ + data: response.data.nodes.map((item: Rating) => item.id), + query: query, + total: response.data.total, + }), + ); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopRatingsLoading())); + }; +}; + +// action to fetch rating by id +export const getRating = (id: number) => { + return (dispatch: Dispatch) => { + dispatch(loadingRatings()); + return axios + .get(`${RATINGS_API}/${id}`) + .then((response) => { + const rating: Rating = response.data; + if (rating.medium) dispatch(addMedia([rating.medium])); + + rating.description = { + json: rating.description, + html: rating.description_html || '', + }; + + dispatch(addRating(GET_RATING, { ...rating, medium: rating.medium?.id })); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopRatingsLoading())); + }; +}; + +// action to create rating +export const createRating = (data: Partial) => { + return (dispatch: Dispatch) => { + dispatch(loadingRatings()); + return axios + .post(RATINGS_API, data) + .then(() => { + dispatch(resetRatings()); + dispatch(addSuccessNotification('Rating created')); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }); + }; +}; + +// action to update rating by id +export const updateRating = (data: Rating) => { + return (dispatch: Dispatch) => { + dispatch(loadingRatings()); + return axios + .put(`${RATINGS_API}/${data.id}`, data) + .then((response) => { + const rating: Rating = response.data; + if (rating.medium) dispatch(addMedia([rating.medium])); + + rating.description = { + json: rating.description, + html: rating.description_html || '', + }; + + dispatch(addRating(UPDATE_RATING, { ...rating, medium: rating.medium?.id })); + dispatch(addSuccessNotification('Rating updated')); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }) + .finally(() => dispatch(stopRatingsLoading())); + }; +}; + +// action to delete rating by id +export const deleteRating = (id: number) => { + return (dispatch: Dispatch) => { + dispatch(loadingRatings()); + return axios + .delete(`${RATINGS_API}/${id}`) + .then(() => { + dispatch(resetRatings()); + }) + .catch((error) => { + dispatch(addErrorNotification(getError(error))); + }); + }; +}; + +export const addRatings = (ratings: Rating[]) => { + return (dispatch: Dispatch) => { + const mediaItems = ratings + .filter(rating => rating.medium) + .map(rating => rating.medium); + + dispatch(addMedia(mediaItems)); + dispatch( + addRatingsList( + ratings.map((rating) => ({ + ...rating, + medium: rating.medium?.id + })), + ), + ); + }; +}; + +export const loadingRatings = (): RatingsAction => ({ + type: SET_RATINGS_LOADING, + payload: true, +}); + +export const stopRatingsLoading = (): RatingsAction => ({ + type: SET_RATINGS_LOADING, + payload: false, +}); + +export const addRating = (type: string, payload: Rating): RatingsAction => ({ + type, + payload, +}); + +export const addRatingsList = (payload: Rating[]): RatingsAction => ({ + type: ADD_RATINGS, + payload, +}); + +export const addRatingsRequest = (payload: RatingsRequest): RatingsAction => ({ + type: ADD_RATINGS_REQUEST, + payload, +}); + +export const resetRatings = (): RatingsAction => ({ + type: RESET_RATINGS, + payload: undefined, +}); \ No newline at end of file diff --git a/studio-shadcn/src/components/ErrorsAndImage/PlaceholderImage.tsx b/studio-shadcn/src/components/ErrorsAndImage/PlaceholderImage.tsx new file mode 100644 index 000000000..5f760e094 --- /dev/null +++ b/studio-shadcn/src/components/ErrorsAndImage/PlaceholderImage.tsx @@ -0,0 +1,26 @@ +import placeholderImg from './placeholderImage.svg'; + +interface PlaceholderImageProps { + width?: string | number; + height?: string | number; + maxWidth?: string | number; +} + +function PlaceholderImage({ + width = '100%', + height = 'auto', + maxWidth = '240px' +}: PlaceholderImageProps) { + return ( + placeholder + ); +} + +export default PlaceholderImage; \ No newline at end of file diff --git a/studio-shadcn/src/components/ErrorsAndImage/RecordNotFound.tsx b/studio-shadcn/src/components/ErrorsAndImage/RecordNotFound.tsx new file mode 100644 index 000000000..47f16e093 --- /dev/null +++ b/studio-shadcn/src/components/ErrorsAndImage/RecordNotFound.tsx @@ -0,0 +1,44 @@ +import React from 'react'; +import { Link } from 'react-router-dom'; +import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert'; +import { Button } from '@/components/ui/button'; +import { AlertCircle } from 'lucide-react'; + +interface RecordNotFoundProps { + status?: string; + title?: string; + link?: string; + entity?: string; +} + +const RecordNotFound: React.FC = ({ + status = '404', + title = 'Sorry, could not find what you are looking for.', + link, + entity = 'Format' +}) => { + return ( +
+ + + + {status} + + + {title} + {link && ( +
+ + + +
+ )} +
+
+
+ ); +}; + +export default RecordNotFound; \ No newline at end of file diff --git a/studio-shadcn/src/components/ErrorsAndImage/placeholderImage.svg b/studio-shadcn/src/components/ErrorsAndImage/placeholderImage.svg new file mode 100644 index 000000000..e6f4adef0 --- /dev/null +++ b/studio-shadcn/src/components/ErrorsAndImage/placeholderImage.svg @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/studio-shadcn/src/components/FormItems/DescriptionInput.tsx b/studio-shadcn/src/components/FormItems/DescriptionInput.tsx new file mode 100644 index 000000000..ad6875aa7 --- /dev/null +++ b/studio-shadcn/src/components/FormItems/DescriptionInput.tsx @@ -0,0 +1,190 @@ +// import React from 'react'; +// import { FormField, FormItem, FormLabel } from '@/components/ui/form'; +// import { Textarea } from '@/components/ui/textarea'; +// import { Button } from '@/components/ui/button'; +// import { Card, CardContent } from '@/components/ui/card'; +// import axios from 'axios'; +// import { MEDIA_API } from '../../constants/media'; +// import { useSelector } from 'react-redux'; +// import { ImagePlus } from 'lucide-react'; +// import { RootState } from '../../types/index'; + +// interface DescriptionInputProps { +// name?: string; +// label?: string; +// noLabel?: boolean; +// onChange?: (value: any) => void; +// inputProps?: any; +// formItemProps?: any; +// initialValue?: string; +// rows?: number; +// } + +// interface UploadConfig { +// restrictions: { +// maxFileSize: number; +// allowedFileTypes: string[]; +// }; +// onBeforeUpload: (files: any) => any; +// } + +// interface UploadResult { +// successful: { +// size: number; +// fileName: string; +// response: { +// body: { +// key: string; +// }; +// }; +// uploadURL: string; +// meta: { +// type: string; +// caption?: string; +// width?: number; +// height?: number; +// }; +// }[]; +// } + +// const DescriptionInput: React.FC = ({ +// name = 'description', +// label = 'Description', +// noLabel = false, +// onChange = () => {}, +// inputProps, +// formItemProps, +// initialValue, +// rows, +// }) => { +// const space_slug = useSelector((state: RootState) => { +// return state.spaces.details[state.spaces.selected]?.slug; +// }); + +// const mergedInputProps = { ...inputProps, onChange }; +// const mergedFormItemProps = noLabel ? formItemProps : { ...formItemProps, label }; + +// const uploadConfig: UploadConfig = { +// restrictions: { +// maxFileSize: 5242880, // 5MB +// allowedFileTypes: ['.jpg', '.jpeg', '.png', '.gif'], +// }, +// onBeforeUpload: (files) => { +// const updatedFiles: Record = {}; + +// Object.keys(files).forEach((fileID) => { +// updatedFiles[fileID] = { +// ...files[fileID], +// fileName: files[fileID].meta.name, +// meta: { +// ...files[fileID].meta, +// name: +// space_slug + +// '/' + +// new Date().getFullYear() + +// '/' + +// new Date().getMonth() + +// '/' + +// Date.now().toString() + +// '_' + +// files[fileID].meta.name, +// }, +// }; +// }); +// return updatedFiles; +// }, +// }; + +// const handleFileUpload = async (file: File) => { +// if (!uploadConfig.restrictions.allowedFileTypes.some(type => +// file.name.toLowerCase().endsWith(type))) { +// console.error('Invalid file type'); +// return; +// } + +// if (file.size > uploadConfig.restrictions.maxFileSize) { +// console.error('File too large'); +// return; +// } + +// const formData = new FormData(); +// formData.append('file', file); + +// try { +// const response = await axios.post(MEDIA_API, formData, { +// headers: { +// 'Content-Type': 'multipart/form-data', +// }, +// }); + +// const upload = { +// alt_text: file.name, +// caption: file.name, +// description: file.name, +// file_size: file.size, +// name: file.name, +// slug: response.data.key, +// title: file.name, +// type: file.type, +// url: { +// raw: response.data.url, +// }, +// }; + +// await axios.post(MEDIA_API, [upload]); +// } catch (error) { +// console.error('Upload error:', error); +// } +// }; + +// return ( +// ( +// +// {!noLabel && {label}} +// +// +// - - - -
-
- - - - - -
- - -
- - - - -
- - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - Cancel - , - - Ok - , - ] - } - okType="primary" - onCancel={[Function]} - visible={false} - width="800px" - > - - - - } - confirmLoading={false} - focusTriggerAfterClose={true} - footer={ - Array [ - - Cancel - , - - Ok - , - ] - } - maskTransitionName="ant-fade" - okType="primary" - onCancel={[Function]} - onClose={[Function]} - prefixCls="ant-modal" - transitionName="ant-zoom" - visible={false} - width="800px" - wrapClassName="" - > - - - - -
- -
-
-
- - - -
-
-
-
-
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- - - - - -
- - -
- -
- -
- - -
-
-
- - -
- - -
-
- - - - - -
- - -
- - - - - -
- -
- -
- - -
- -
- - - -
- - -
-
- - - - Meta Data -
- - - -
-
-
- - -
-
- - - - Code Injection -
- - - -
-
-
-
-
-
- - -
- - -
-
- - - - Meta Fields -
- - - -
-
-
-
-
-
-
-
-
-
- -
- - - - - - - - -`; diff --git a/studio/src/pages/claimants/__snapshots__/EditClaimant.test.js.snap b/studio/src/pages/claimants/__snapshots__/EditClaimant.test.js.snap deleted file mode 100644 index 2d0a52e65..000000000 --- a/studio/src/pages/claimants/__snapshots__/EditClaimant.test.js.snap +++ /dev/null @@ -1,498 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Claimants edit component snapshot testing should match component with empty data 1`] = ` - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Sorry, could not find what you are looking for. -
-
-
-
-
-
-`; - -exports[`Claimants edit component snapshot testing should match skeleton while loading 1`] = ` - - - -
-
- - <h3 - className="ant-skeleton-title" - style={ - Object { - "width": "38%", - } - } - /> - - -
    -
  • -
  • -
  • -
-
-
-
-
-
-
-`; - -exports[`Claimants edit component snapshot testing should render the component 1`] = ` - - - -
-
- - <h3 - className="ant-skeleton-title" - style={ - Object { - "width": "38%", - } - } - /> - - -
    -
  • -
  • -
  • -
-
-
-
-
-
-
-`; diff --git a/studio/src/pages/claimants/__snapshots__/index.test.js.snap b/studio/src/pages/claimants/__snapshots__/index.test.js.snap deleted file mode 100644 index cee12862c..000000000 --- a/studio/src/pages/claimants/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,7519 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Claimants List component snapshot testing should render loader component 1`] = ` - - - - - -
- -
- - - - - - -
-
-
-
-
-
-
-
-`; - -exports[`Claimants List component snapshot testing should render the component 1`] = ` - - - - - -
- -
- - - - - -
-
- -
- - - -
- -
- -
- - - - -
- - - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="filters_q" - inputType="input" - onChange={[Function]} - placeholder="Search claimant" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
-
- - -
- - - - -
- - - -
-
-
- - - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > -
- } - defaultValue="desc" - domRef={ - Object { - "current":
- - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > - - - - - - - Sort By: Latest - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - -
-
- - - -
- - - - -
- - - - - -
- - -
- - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - [Function] - - } - expandedKeys={Set {}} - getRowKey={[Function]} - measureColumnWidth={false} - > - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- } - > - -
-
- - - - - - - - - - - -
-
- No Data -
-
-
-
-
-
-
-
-
- -
-
- -
- - - - - - - - - - - - - - -`; - -exports[`Claimants List component snapshot testing should render the component with data 1`] = ` - - - - - -
- -
- - - - - -
-
- -
- - - -
- -
- -
- - - - -
- - - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="filters_q" - inputType="input" - onChange={[Function]} - placeholder="Search claimant" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
-
- - -
- - - - -
- - - -
-
-
- - - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > -
- } - defaultValue="desc" - domRef={ - Object { - "current":
- - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > - - - - - - - Sort By: Latest - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - -
-
- - - -
- - - - -
- - - - - - - - -
- - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - Whatsapp - - - whatsapp - -
- -
-
- - - -
- - Facebook - - - facebook - -
- -
-
- - - -
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - Whatsapp - - - whatsapp - -
- -
-
- - - -
- - Facebook - - - facebook - -
- -
-
- - - -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - - - Whatsapp - - - - - whatsapp - - - - - - -
- - - - - -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={true} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={true} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - - - -
- - - - Facebook - - - - - facebook - - - - - - -
- - - - - -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={true} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={true} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={10} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
-
-
- - - - -
- -
- - - - - -
-
-
-
-`; diff --git a/studio/src/pages/claimants/components/ClaimantForm.js b/studio/src/pages/claimants/components/ClaimantForm.js deleted file mode 100644 index 312ce42c8..000000000 --- a/studio/src/pages/claimants/components/ClaimantForm.js +++ /dev/null @@ -1,136 +0,0 @@ -import React from 'react'; -import { Button, Form, Input, Space, Row, Col, Switch, Collapse, ConfigProvider } from 'antd'; -import { maker } from '../../../utils/sluger'; -import MediaSelector from '../../../components/MediaSelector'; -import getJsonValue from '../../../utils/getJsonValue'; -import { DescriptionInput, MetaForm, SlugInput, TitleInput } from '../../../components/FormItems'; - -const { TextArea } = Input; - -const ClaimantForm = ({ onCreate, data = {} }) => { - if (data && data.meta_fields) { - if (typeof data.meta_fields !== 'string') { - data.meta_fields = JSON.stringify(data.meta_fields); - } - } - const [form] = Form.useForm(); - const [valueChange, setValueChange] = React.useState(false); - - const onReset = () => { - form.resetFields(); - }; - - const onTitleChange = (string) => { - form.setFieldsValue({ - slug: maker(string), - }); - }; - - return ( - -
{ - if (values.meta_fields) { - values.meta_fields = getJsonValue(values.meta_fields); - } - onCreate(values); - onReset(); - }} - onValuesChange={() => { - setValueChange(true); - }} - > - - - - - - - - - - - - - - } - style={{ width: '100%', background: '#f0f2f5', border: 0, marginBottom: 16 }} - > - - - - onTitleChange(e.target.value)} - name="name" - label="Claimant Name" - /> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - Cancel - , - - Ok - , - ] - } - okType="primary" - onCancel={[Function]} - visible={false} - width="800px" - > - - - - } - confirmLoading={false} - focusTriggerAfterClose={true} - footer={ - Array [ - - Cancel - , - - Ok - , - ] - } - maskTransitionName="ant-fade" - okType="primary" - onCancel={[Function]} - onClose={[Function]} - prefixCls="ant-modal" - transitionName="ant-zoom" - visible={false} - width="800px" - wrapClassName="" - > - - - - -
- -
-
-
- - - - - - -
-
-
-
-
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- - - - - -
- - -
- -
- -
- - -
-
-
- - -
- - -
-
- - - - - -
- - -
- - - - - -
- -
-
- - - -
- -
- - - -
- - -
-
- - - - Meta Data -
- - - -
-
-
- - -
-
- - - - Code Injection -
- - - -
-
-
-
-
-
- - -
- - -
-
- - - - Meta Fields -
- - - -
-
-
-
-
-
-
-
-
-
- - -
-
- - - - - -`; - -exports[`Claimants Create Form component snapshot testing should match component with empty data 1`] = ` - - - - - -
- -
- -
- -
- - -
- - - -
-
-
- -
- -
- - - -
-
- -
- - - -
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- -
- -
- - - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="creat-claimant_name" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="creat-claimant_slug" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - } - onChange={[Function]} - prefixCls="ant-switch" - > - - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - handleReset={[Function]} - id="creat-claimant_tag_line" - inputType="text" - prefixCls="ant-input" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - Cancel - , - - Ok - , - ] - } - okType="primary" - onCancel={[Function]} - visible={false} - width="800px" - > - - - - } - confirmLoading={false} - focusTriggerAfterClose={true} - footer={ - Array [ - - Cancel - , - - Ok - , - ] - } - maskTransitionName="ant-fade" - okType="primary" - onCancel={[Function]} - onClose={[Function]} - prefixCls="ant-modal" - transitionName="ant-zoom" - visible={false} - width="800px" - wrapClassName="" - > - - - - -
- -
-
-
- - - - - - -
-
-
-
-
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- - - - - -
- - -
- -
- -
- - -
-
-
- - -
- - -
-
- - - - - -
- - -
- - - - - -
- -
- -
- - -
- -
- - - -
- - -
-
- - - - Meta Data -
- - - -
-
-
- - -
-
- - - - Code Injection -
- - - -
-
-
-
-
-
- - -
- - -
-
- - - - Meta Fields -
- - - -
-
-
-
-
-
-
-
-
-
- -
- - - - - - - -`; - -exports[`Claimants Create Form component snapshot testing should render the component 1`] = ` - - - - - -
- -
- -
- -
- - -
- - - -
-
-
- -
- -
- - - -
-
- -
- - - -
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- -
- -
- - - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="creat-claimant_name" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="creat-claimant_slug" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - } - onChange={[Function]} - prefixCls="ant-switch" - > - - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - handleReset={[Function]} - id="creat-claimant_tag_line" - inputType="text" - prefixCls="ant-input" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - Cancel - , - - Ok - , - ] - } - okType="primary" - onCancel={[Function]} - visible={false} - width="800px" - > - - - - } - confirmLoading={false} - focusTriggerAfterClose={true} - footer={ - Array [ - - Cancel - , - - Ok - , - ] - } - maskTransitionName="ant-fade" - okType="primary" - onCancel={[Function]} - onClose={[Function]} - prefixCls="ant-modal" - transitionName="ant-zoom" - visible={false} - width="800px" - wrapClassName="" - > - - - - -
- -
-
-
- - - - - - -
-
-
-
-
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
-
- - -
- - - - - -
- - -
- -
- -
- - -
-
-
- - -
- - -
-
- - - - - -
- - -
- - - - - -
- -
- -
- - -
- -
- - - -
- - -
-
- - - - Meta Data -
- - - -
-
-
- - -
-
- - - - Code Injection -
- - - -
-
-
-
-
-
- - -
- - -
-
- - - - Meta Fields -
- - - -
-
-
-
-
-
-
-
-
-
- -
- - - - - - - -`; diff --git a/studio/src/pages/claimants/components/__snapshots__/ClaimantList.test.js.snap b/studio/src/pages/claimants/components/__snapshots__/ClaimantList.test.js.snap deleted file mode 100644 index 6e2e30db7..000000000 --- a/studio/src/pages/claimants/components/__snapshots__/ClaimantList.test.js.snap +++ /dev/null @@ -1,8359 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Claimants List component snapshot testing should match component when loading 1`] = ` - - - - - -
- -
- -
- -
-
-
- - - - - - -
-
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - Whatsapp - - - whatsapp - -
- -
-
- -
- - Facebook - - - facebook - -
- -
-
- -
-
, - }, - } - } - loading={true} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - Whatsapp - - - whatsapp - -
- -
-
- -
- - Facebook - - - facebook - -
- -
-
- -
-
, - }, - }, - "loading": true, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - - - Whatsapp - - - - - whatsapp - - - - - - -
- - - - - -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - - Facebook - - - - - facebook - - - - - - -
- - - - - -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
-
-
- -
- - - - - - - - -
-`; - -exports[`Claimants List component snapshot testing should match component with claimants 1`] = ` - - - - - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - Whatsapp - - - whatsapp - -
- -
-
- -
- - Facebook - - - facebook - -
- -
-
- -
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - Whatsapp - - - whatsapp - -
- -
-
- -
- - Facebook - - - facebook - -
- -
-
- -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- - - - Whatsapp - - - - - whatsapp - - - - - - -
- - - - - -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - - Facebook - - - - - facebook - - - - - - -
- - - - - -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
-
- - - - - - - -
-
-
-
-
-`; - -exports[`Claimants List component snapshot testing should render the component 1`] = ` - - - - - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - [Function] - - } - expandedKeys={Set {}} - getRowKey={[Function]} - measureColumnWidth={false} - > - - - - - - - - - - -
- Name - - Slug - - Tag Line - - Action -
- } - > - -
-
- - - - - - - - - - - -
-
- No Data -
-
-
-
-
-
-
-
-
- -
- - - - - - - -
-
-
-
-
-`; diff --git a/studio-shadcn/src/pages/claimants/hooks/useClaimantsData.tsx b/studio/src/pages/claimants/hooks/useClaimantsData.tsx similarity index 100% rename from studio-shadcn/src/pages/claimants/hooks/useClaimantsData.tsx rename to studio/src/pages/claimants/hooks/useClaimantsData.tsx diff --git a/studio-shadcn/src/pages/claimants/hooks/useClaimantsPagination.tsx b/studio/src/pages/claimants/hooks/useClaimantsPagination.tsx similarity index 100% rename from studio-shadcn/src/pages/claimants/hooks/useClaimantsPagination.tsx rename to studio/src/pages/claimants/hooks/useClaimantsPagination.tsx diff --git a/studio/src/pages/claimants/index.js b/studio/src/pages/claimants/index.js deleted file mode 100644 index e62c864d3..000000000 --- a/studio/src/pages/claimants/index.js +++ /dev/null @@ -1,232 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -import React, { useEffect } from 'react'; -import ClaimantList from './components/ClaimantList'; -import { - Space, - Button, - Form, - Row, - Col, - Select, - Input, - Typography, - Tooltip, - ConfigProvider, -} from 'antd'; -import { PlusOutlined, SearchOutlined } from '@ant-design/icons'; -import { Link, useLocation, useNavigate } from 'react-router-dom'; -import { useDispatch, useSelector } from 'react-redux'; -import { getClaimants } from '../../actions/claimants'; -import deepEqual from 'deep-equal'; -import getUrlParams from '../../utils/getUrlParams'; -import Loader from '../../components/Loader'; -import { Helmet } from 'react-helmet'; -import Filters from '../../utils/filters'; - -function Claimants({ permission }) { - const { actions } = permission; - const dispatch = useDispatch(); - const history = useNavigate(); - const query = new URLSearchParams(useLocation().search); - const [searchFieldExpand, setSearchFieldExpand] = React.useState(false); - const [isMobileScreen, setIsMobileScreen] = React.useState(false); - - const params = getUrlParams(query); - const [filters, setFilters] = React.useState({ - ...params, - }); - - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth < 768) { - setIsMobileScreen(true); - } else { - setIsMobileScreen(false); - } - }; - window.addEventListener('resize', handleResize); - handleResize(); - - return () => window.removeEventListener('resize', handleResize); - }, []); - - const pathName = useLocation().pathname; - useEffect(() => { - history({ - pathname: pathName, - search: new URLSearchParams(filters).toString(), - }); - }, [history, filters]); - const [form] = Form.useForm(); - const { Option } = Select; - - const { claimants, total, loading } = useSelector((state) => { - const node = state.claimants.req.find((item) => { - return deepEqual(item.query, params); - }); - - if (node) - return { - claimants: node.data.map((element) => state.claimants.details[element]), - total: node.total, - loading: state.claimants.loading, - }; - return { claimants: [], total: 0, loading: state.claimants.loading }; - }); - useEffect(() => { - if (form) form.setFieldsValue(new Filters(params)); - }, [params]); - - React.useEffect(() => { - fetchClaimants(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [filters]); - - const fetchClaimants = () => { - dispatch(getClaimants(filters)); - }; - return loading ? ( - - ) : ( - - - -
{ - let filterValue = {}; - Object.keys(values).forEach(function (key) { - if (values[key]) { - filterValue[key] = values[key]; - } - }); - setFilters({ - ...filters, - ...filterValue, - }); - }} - style={{ maxWidth: '100%' }} - onValuesChange={(changedValues, allValues) => { - if (!changedValues.q) { - if (changedValues.q === '') { - const { q, ...filtersWithoutQuery } = filters; - setFilters({ ...filtersWithoutQuery }); - return; - } - setFilters({ ...filters, ...changedValues }); - } - }} - > - - - - - - Claimants - - - - {searchFieldExpand ? ( - - - - - - - - - ) : ( - - - - - - - - - - - - - - - - -
-
- -
- ); -} - -export default Claimants; diff --git a/studio/src/pages/claimants/index.test.js b/studio/src/pages/claimants/index.test.js deleted file mode 100644 index d77182c67..000000000 --- a/studio/src/pages/claimants/index.test.js +++ /dev/null @@ -1,228 +0,0 @@ -import React from 'react'; -import { BrowserRouter as Router } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from 'react-dom/test-utils'; -import { mount } from 'enzyme'; - -import '../../matchMedia.mock'; -import Claimants from './index'; -import { getClaimants } from '../../actions/claimants'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); -let mockedDispatch, store; -let state = { - claimants: { - req: [ - { - data: [1, 2], - query: { - sort: 'desc', - limit: 10, - page: 1, - }, - total: 2, - }, - ], - details: { - 1: { - id: 1, - created_at: '2020-09-09T06:51:15.770644Z', - updated_at: '2020-09-09T06:51:15.770644Z', - deleted_at: null, - name: 'Whatsapp', - slug: 'whatsapp', - description: '', - tag_line: '', - medium_id: 0, - space_id: 1, - }, - 2: { - id: 2, - created_at: '2020-09-09T06:51:22.237778Z', - updated_at: '2020-09-09T06:51:22.237778Z', - deleted_at: null, - name: 'Facebook', - slug: 'facebook', - description: '', - tag_line: '', - medium_id: 0, - space_id: 1, - }, - }, - loading: false, - }, -}; -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - push: jest.fn(), - }), -})); - -jest.mock('../../actions/claimants', () => ({ - getClaimants: jest.fn(), - addClaimant: jest.fn(), -})); - -describe('Claimants List component', () => { - describe('snapshot testing', () => { - beforeEach(() => { - store = mockStore({}); - store.dispatch = jest.fn(); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should render the component', () => { - let state2 = { - claimants: { - req: [], - details: {}, - loading: false, - }, - }; - store = mockStore(state2); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should render the component with data', () => { - store = mockStore(state); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - expect(getClaimants).toBeCalledWith({ limit: 10, page: 1, sort: 'desc' }); - }); - it('should render loader component', () => { - const loadingState = { - claimants: { - req: [], - details: {}, - loading: true, - }, - }; - store = mockStore(loadingState); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - beforeEach(() => { - jest.clearAllMocks(); - mockedDispatch = jest.fn(() => new Promise((resolve) => resolve(true))); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should handle url search params', () => { - let wrapper; - window.history.pushState({}, '', '/claimants?limit=20&page=1&q=descri'); - const store2 = mockStore({ - claimants: { - req: [ - { - data: [1, 2], - query: { page: 1, limit: 20 }, - total: 2, - }, - ], - details: { - 1: { - id: 1, - created_at: '2020-09-09T06:51:15.770644Z', - updated_at: '2020-09-09T06:51:15.770644Z', - deleted_at: null, - name: 'Whatsapp', - slug: 'whatsapp', - description: 'description', - tag_line: '', - medium_id: 0, - space_id: 1, - }, - 2: { - id: 2, - created_at: '2020-09-09T06:51:22.237778Z', - updated_at: '2020-09-09T06:51:22.237778Z', - deleted_at: null, - name: 'Facebook', - slug: 'facebook', - description: 'description', - tag_line: '', - medium_id: 0, - space_id: 1, - }, - }, - loading: false, - }, - }); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(getClaimants).toHaveBeenCalledWith({ page: 1, limit: 20, q: 'descri', sort: 'desc' }); - }); - it('should submit filters', () => { - store = mockStore(state); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - wrapper - .find('input') - .at(0) - .simulate('change', { target: { value: 'claimant' } }); - wrapper - .find('FormItem') - .at(2) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: '' } }); - - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Search'); - submitButtom.simulate('submit'); - }); - - setTimeout(() => { - expect(getClaimants).toHaveBeenCalledWith({ - page: 1, - limit: 5, - q: 'claimant', - sort: '', - }); - }, 0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/claimants/index.tsx b/studio/src/pages/claimants/index.tsx similarity index 100% rename from studio-shadcn/src/pages/claimants/index.tsx rename to studio/src/pages/claimants/index.tsx diff --git a/studio-shadcn/src/pages/claimants/types.ts b/studio/src/pages/claimants/types.ts similarity index 100% rename from studio-shadcn/src/pages/claimants/types.ts rename to studio/src/pages/claimants/types.ts diff --git a/studio/src/pages/claims/CreateClaim.js b/studio/src/pages/claims/CreateClaim.js deleted file mode 100644 index 7cd01c85c..000000000 --- a/studio/src/pages/claims/CreateClaim.js +++ /dev/null @@ -1,46 +0,0 @@ -import ClaimCreateForm from './components/ClaimForm'; -import { useDispatch, useSelector } from 'react-redux'; -import { createClaim } from '../../actions/claims'; -import { Link } from 'react-router-dom'; -import { Helmet } from 'react-helmet'; -import { Button, Result } from 'antd'; -import useNavigation from '../../utils/useNavigation'; - -function CreateClaim() { - const history = useNavigation(); - - const dispatch = useDispatch(); - const onCreate = (values) => { - dispatch(createClaim(values)).then(() => { - history('/claims'); - }); - }; - - const { claimantsCount } = useSelector(({ claimants }) => { - return { - claimantsCount: claimants?.req?.[0]?.data ? claimants?.req?.[0]?.data : 0, - }; - }); - - return ( - <> - - {claimantsCount ? ( - - ) : ( - - - - } - /> - )} - - ); -} - -export default CreateClaim; diff --git a/studio/src/pages/claims/CreateClaim.test.js b/studio/src/pages/claims/CreateClaim.test.js deleted file mode 100644 index 555d74a60..000000000 --- a/studio/src/pages/claims/CreateClaim.test.js +++ /dev/null @@ -1,107 +0,0 @@ -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { Provider, useSelector, useDispatch } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { mount, shallow } from 'enzyme'; -import { act } from '@testing-library/react'; - -import '../../matchMedia.mock'; -import CreateClaim from './CreateClaim'; -import * as actions from '../../actions/claims'; -import ClaimCreateForm from './components/ClaimForm'; - -jest.mock('@editorjs/editorjs'); -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useSelector: jest.fn(), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), -})); - -jest.mock('../../actions/claims', () => ({ - ...jest.requireActual('../../actions/claims'), - createClaim: jest.fn(), -})); - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -let onCreate, store; - -describe('Claim create component', () => { - store = mockStore({ - claims: { - req: [], - details: {}, - loading: true, - }, - claimants: { - req: [], - details: {}, - loading: true, - }, - rating: { - req: [], - details: {}, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - }); - const mockedDispatch = jest.fn(() => Promise.resolve({})); - useDispatch.mockReturnValue(mockedDispatch); - useSelector.mockImplementation((state) => ({ details: [], total: 0, loading: false })); - - describe('snapshot testing', () => { - beforeEach(() => { - onCreate = jest.fn(); - }); - it('should render the component', () => { - let tree; - act(() => { - tree = shallow( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - let wrapper; - afterEach(() => { - wrapper.unmount(); - }); - it('should call createClaim', (done) => { - actions.createClaim.mockReset(); - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - act(() => { - wrapper = mount( - - - , - ); - }); - wrapper.find(ClaimCreateForm).props().onCreate({ test: 'test' }); - setTimeout(() => { - expect(actions.createClaim).toHaveBeenCalledWith({ test: 'test' }); - expect(push).toHaveBeenCalledWith('/claims'); - done(); - }, 0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/claims/CreateClaim.tsx b/studio/src/pages/claims/CreateClaim.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/CreateClaim.tsx rename to studio/src/pages/claims/CreateClaim.tsx diff --git a/studio/src/pages/claims/EditClaim.js b/studio/src/pages/claims/EditClaim.js deleted file mode 100644 index 2b4246bb8..000000000 --- a/studio/src/pages/claims/EditClaim.js +++ /dev/null @@ -1,47 +0,0 @@ -import React from 'react'; -import ClaimEditForm from './components/ClaimForm'; -import { useDispatch, useSelector } from 'react-redux'; -import { Skeleton } from 'antd'; -import { updateClaim, getClaim } from '../../actions/claims'; - -import { useParams } from 'react-router-dom'; -import RecordNotFound from '../../components/ErrorsAndImage/RecordNotFound'; -import { Helmet } from 'react-helmet'; -import useNavigation from '../../utils/useNavigation'; - -function EditClaim() { - const history = useNavigation(); - const { id } = useParams(); - - const dispatch = useDispatch(); - - const { claim, loading } = useSelector((state) => { - return { - claim: state.claims.details[id] ? state.claims.details[id] : null, - loading: state.claims.loading, - }; - }); - - React.useEffect(() => { - dispatch(getClaim(id)); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [id]); - - if (loading) return ; - - if (!claim) { - return ; - } - - const onUpdate = (values) => { - dispatch(updateClaim({ ...claim, ...values })).then(() => history(`/claims/${id}/edit`)); - }; - return ( - <> - - - - ); -} - -export default EditClaim; diff --git a/studio/src/pages/claims/EditClaim.test.js b/studio/src/pages/claims/EditClaim.test.js deleted file mode 100644 index 9de3d2927..000000000 --- a/studio/src/pages/claims/EditClaim.test.js +++ /dev/null @@ -1,257 +0,0 @@ -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { mount, shallow } from 'enzyme'; -import { act } from '@testing-library/react'; - -import '../../matchMedia.mock'; -import EditClaim from './EditClaim'; -import * as actions from '../../actions/claims'; -import ClaimEditForm from './components/ClaimForm'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('@editorjs/editorjs'); -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), - useParams: jest.fn().mockReturnValue({ id: '1' }), -})); - -jest.mock('../../actions/claims', () => ({ - getClaims: jest.fn(), - getClaim: jest.fn(), - updateClaim: jest.fn(), -})); -let claims = { - req: [ - { - data: [1, 2], - query: { - page: 1, - }, - total: 2, - }, - ], - details: { - 1: { - id: 1, - created_at: '2020-07-17T10:14:44.251814Z', - updated_at: '2020-07-17T10:14:44.251814Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-1', - slug: 'claim-1', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }, - 2: { - id: 2, - created_at: '2020-07-17T10:14:48.173442Z', - updated_at: '2020-07-17T10:14:48.173442Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-2', - slug: 'claim-2', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }, - }, - loading: false, -}; -let spaces = { - orgs: [ - { - id: 1, - title: 'TOI', - spaces: [1], - }, - ], - details: { - 1: { - id: 1, - name: 'English', - site_address: 'site_address', - site_title: 'site_title', - tag_line: 'tag_line', - }, - }, - selected: 1, -}; -let state = { - claims: claims, - spaces: spaces, - media: { - req: [], - details: {}, - loading: true, - }, - ratings: { - req: [], - details: {}, - loading: true, - }, - claimants: { - req: [], - details: {}, - loading: true, - }, -}; - -describe('Claims Edit component', () => { - let store; - let mockedDispatch; - store = mockStore(state); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(() => Promise.resolve({})); - useDispatch.mockReturnValue(mockedDispatch); - - describe('snapshot testing', () => { - it('should render the component', () => { - let tree; - act(() => { - tree = shallow( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - it('should match component with empty data', () => { - let tree; - state.claims = { - req: [], - details: {}, - loading: false, - }; - store = mockStore(state); - act(() => { - tree = mount( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - it('should match skeleton while loading', () => { - let tree; - state.claims = { - req: [], - details: {}, - loading: true, - }; - store = mockStore(state); - act(() => { - tree = mount( - - - , - ); - }); - - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - let wrapper; - beforeEach(() => { - store = mockStore({ - claims: claims, - media: { - req: [], - details: {}, - loading: true, - }, - spaces: spaces, - ratings: { - req: [], - details: {}, - loading: true, - }, - claimants: { - req: [], - details: {}, - loading: true, - }, - }); - }); - afterEach(() => { - wrapper.unmount(); - }); - it('should call get action', () => { - actions.getClaim.mockReset(); - act(() => { - wrapper = mount( - - - , - ); - }); - expect(actions.getClaim).toHaveBeenCalledWith('1'); - }); - it('should call updateClaim', (done) => { - actions.updateClaim.mockReset(); - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - act(() => { - wrapper = mount( - - - , - ); - }); - wrapper.find(ClaimEditForm).props().onCreate({ - id: 1, - created_at: '2020-07-17T10:14:44.251814Z', - updated_at: '2020-07-17T10:14:44.251814Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-1', - slug: 'claim-1', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }); - setTimeout(() => { - expect(actions.updateClaim).toHaveBeenCalledWith({ - id: 1, - created_at: '2020-07-17T10:14:44.251814Z', - updated_at: '2020-07-17T10:14:44.251814Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-1', - slug: 'claim-1', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }); - expect(push).toHaveBeenCalledWith('/claims/1/edit'); - done(); - }, 0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/claims/EditClaim.tsx b/studio/src/pages/claims/EditClaim.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/EditClaim.tsx rename to studio/src/pages/claims/EditClaim.tsx diff --git a/studio/src/pages/claims/__snapshots__/CreateClaim.test.js.snap b/studio/src/pages/claims/__snapshots__/CreateClaim.test.js.snap deleted file mode 100644 index 70518e43d..000000000 --- a/studio/src/pages/claims/__snapshots__/CreateClaim.test.js.snap +++ /dev/null @@ -1,37 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Claim create component snapshot testing should render the component 1`] = ` - - - -`; diff --git a/studio/src/pages/claims/__snapshots__/EditClaim.test.js.snap b/studio/src/pages/claims/__snapshots__/EditClaim.test.js.snap deleted file mode 100644 index 663fc7cc4..000000000 --- a/studio/src/pages/claims/__snapshots__/EditClaim.test.js.snap +++ /dev/null @@ -1,457 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Claims Edit component snapshot testing should match component with empty data 1`] = ` - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- Sorry, could not find what you are looking for. -
-
-
-
-
-
-`; - -exports[`Claims Edit component snapshot testing should match skeleton while loading 1`] = ` - - - -
-
- - <h3 - className="ant-skeleton-title" - style={ - Object { - "width": "38%", - } - } - /> - - -
    -
  • -
  • -
  • -
-
-
-
-
-
-
-`; - -exports[`Claims Edit component snapshot testing should render the component 1`] = ` - - - -`; diff --git a/studio/src/pages/claims/__snapshots__/index.test.js.snap b/studio/src/pages/claims/__snapshots__/index.test.js.snap deleted file mode 100644 index f80711b0a..000000000 --- a/studio/src/pages/claims/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,15420 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Claims List component snapshot testing should render loader component 1`] = ` - - - - - -
- -
- - - - - - -
-
-
-
-
-
-
-
-`; - -exports[`Claims List component snapshot testing should render the component 1`] = ` - - - - - -
- -
- - - - - -
-
- -
- - - -
- -
- -
- - - - -
- - - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="filters_q" - inputType="input" - onChange={[Function]} - placeholder="search claims" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
-
- - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select claimants - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={128} - listItemHeight={24} - loading={false} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claimants" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select claimants - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={false} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claimants" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select claimants - - -
- - - -
- - - - - -
-
- - - - - -
- - -
- - - - - - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select ratings - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select ratings" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select ratings - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select ratings" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select ratings - - -
- - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - -
-
-
- - - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > -
- } - domRef={ - Object { - "current":
- - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > - - - - - - - Sort By: Latest - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - -
- - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - [Function] - - } - expandedKeys={Set {}} - getRowKey={[Function]} - measureColumnWidth={false} - > - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- } - > - -
-
- - - - - - - - - - - -
-
- No Data -
-
-
-
-
-
-
-
-
- -
-
- - - - -
- - - - - - - - - - - -`; - -exports[`Claims List component snapshot testing should render the component with cached query data 1`] = ` - - - - - -
- -
- - - - - -
-
- -
- - - -
- -
- -
- - - - -
- - - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="filters_q" - inputType="input" - onChange={[Function]} - placeholder="search claims" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
-
- - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select claimants - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={128} - listItemHeight={24} - loading={false} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claimants" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select claimants - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={false} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claimants" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select claimants - - -
- - - -
- - - - - -
-
- - - - - - - - - - - - - - - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select ratings - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select ratings" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select ratings - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select ratings" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select ratings - - -
- - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - -
-
-
- - - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > -
- } - domRef={ - Object { - "current":
- - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > - - - - - - - Sort By: Latest - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - -
- - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - TOI - - True - - - Invalid date - - - - - -
- - - TOI - - True - - - July 17th 2020 - - - - - -
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - TOI - - True - - - Invalid date - - - - - -
- - - TOI - - True - - - July 17th 2020 - - - - - -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - - - - - TOI - - True - - - Invalid date - - - } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={true} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={true} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - - - -
- - - - - - - TOI - - True - - - July 17th 2020 - - - } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={true} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={true} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={10} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
-
-
- - - - -
- -
- - - - - -
-
-
-
-`; - -exports[`Claims List component snapshot testing should render the component with data 1`] = ` - - - - - -
- -
- - - - - -
-
- -
- - - -
- -
- -
- - - - -
- - - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="filters_q" - inputType="input" - onChange={[Function]} - placeholder="search claims" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
-
- - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select claimants - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={128} - listItemHeight={24} - loading={false} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claimants" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select claimants - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={false} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claimants" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select claimants - - -
- - - -
- - - - - -
-
- - - - - - - - - - - - - - - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select ratings - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select ratings" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select ratings - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - id="rc_select_TEST_OR_SSR" - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select ratings" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select ratings - - -
- - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - -
-
-
- - - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > -
- } - domRef={ - Object { - "current":
- - - - - Sort By: Latest - -
, - } - } - dropdownClassName="" - id="filters_sort" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - value="desc" - values={ - Array [ - Object { - "disabled": undefined, - "key": "desc", - "label": "Sort By: Latest", - "value": "desc", - }, - ] - } - > - - - - - - - Sort By: Latest - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - - - - - - - - - - - - - - - - - - - - -
- - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 10, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - [Function] - - } - expandedKeys={Set {}} - getRowKey={[Function]} - measureColumnWidth={false} - > - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- } - > - -
-
- - - - - - - - - - - -
-
- No Data -
-
-
-
-
-
-
-
-
- -
-
- - - - -
- -
- - - - - -
-
-
-
-`; diff --git a/studio/src/pages/claims/components/ClaimForm.js b/studio/src/pages/claims/components/ClaimForm.js deleted file mode 100644 index 38f2dae62..000000000 --- a/studio/src/pages/claims/components/ClaimForm.js +++ /dev/null @@ -1,346 +0,0 @@ -import React from 'react'; -import { Button, Form, Input, DatePicker, Row, Col, Collapse, ConfigProvider } from 'antd'; -import Selector from '../../../components/Selector'; -import { maker } from '../../../utils/sluger'; -import dayjs from 'dayjs'; -import { MinusCircleOutlined, PlusOutlined } from '@ant-design/icons'; -import getJsonValue from '../../../utils/getJsonValue'; -import { DescriptionInput, MetaForm, SlugInput } from '../../../components/FormItems'; - -const layout = { - // labelCol: { - // span: 8, - // offset: 2, - // }, - // wrapperCol: { - // span: 20, - // offset: 2, - // }, -}; - -const ClaimForm = ({ onCreate, data = {} }) => { - const [isMobileScreen, setIsMobileScreen] = React.useState(false); - - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth < 768) { - setIsMobileScreen(true); - } else { - setIsMobileScreen(false); - } - }; - window.addEventListener('resize', handleResize); - handleResize(); - return () => window.removeEventListener('resize', handleResize); - }, []); - - if (data && data.meta_fields) { - if (typeof data.meta_fields !== 'string') { - data.meta_fields = JSON.stringify(data.meta_fields); - } - } - const [form] = Form.useForm(); - const [valueChange, setValueChange] = React.useState(false); - const { Panel } = Collapse; - const [activeKey, setActiveKey] = React.useState(['1', '2']); - - const onReset = () => { - form.resetFields(); - }; - - const disabledDate = (current) => { - return current.valueOf() > Date.now(); - }; - - const onSave = (values) => { - values.claimant_id = values.claimant || 0; - values.rating_id = values.rating || 0; - values.claim_date = values.claim_date - ? dayjs(values.claim_date).format('YYYY-MM-DDTHH:mm:ssZ') - : null; - values.checked_date = values.checked_date - ? dayjs(values.checked_date).format('YYYY-MM-DDTHH:mm:ssZ') - : null; - - onCreate(values); - }; - - const onClaimChange = (string) => { - if (string.length > 150) { - form.setFieldsValue({ - slug: maker(string.substring(0, 150)), - }); - } else { - form.setFieldsValue({ - slug: maker(string), - }); - } - }; - - if (data && data.id) { - data.claim_date = data.claim_date ? dayjs(data.claim_date) : null; - data.checked_date = data.checked_date ? dayjs(data.checked_date) : null; - } - - const handleCollapse = (props) => { - setActiveKey(props); - }; - - return ( - -
{ - if (values.meta_fields) { - values.meta_fields = getJsonValue(values.meta_fields); - } - onSave(values); - onReset(); - }} - onFinishFailed={(errors) => { - let name = errors.errorFields[0].name[0]; - if (['claim', 'slug', 'claimant', 'rating'].includes(name)) { - setActiveKey(['1']); - } else { - setActiveKey(['2']); - } - if (errors.errorFields[0].name[0] !== 'review_sources') { - } - if (errors.errorFields[0].name[0] !== 'claim_sources') { - } - }} - onValuesChange={() => { - setValueChange(true); - }} - scrollToFirstError={true} - layout="vertical" - > - - - - handleCollapse(props)} - expandIconPosition="right" - expandIcon={({ isActive }) => } - > - - - - - onClaimChange(e.target.value)} - /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - handleCollapse(props)} - expandIconPosition="right" - expandIcon={({ isActive }) => } - > - - - - - {(fields, { add, remove }) => ( - <> - {fields.map((field) => ( - - - - - - - - - - - - remove(field.name)} /> - - ))} - - - - - )} - - - - - {(fields, { add, remove }) => ( - <> - {fields.map((field) => ( - - - - - - - - - - - - remove(field.name)} /> - - ))} - - - - - )} - - - - - - - -
- ); -}; - -export default ClaimForm; diff --git a/studio/src/pages/claims/components/ClaimForm.test.js b/studio/src/pages/claims/components/ClaimForm.test.js deleted file mode 100644 index 73c448430..000000000 --- a/studio/src/pages/claims/components/ClaimForm.test.js +++ /dev/null @@ -1,684 +0,0 @@ -import React from 'react'; -import { Provider, useSelector, useDispatch } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from '@testing-library/react'; -import { shallow, mount } from 'enzyme'; -import { DatePicker, Input, Collapse } from 'antd'; -import moment from 'moment'; -import { MinusCircleOutlined } from '@ant-design/icons'; - -import '../../../matchMedia.mock'; -import ClaimCreateForm from './ClaimForm'; -import { SlugInput } from '../../../components/FormItems'; - -jest.mock('@editorjs/editorjs'); -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('../../../actions/claimants', () => ({ - ...jest.requireActual('../../../actions/claimants'), - addClaimant: jest.fn(), -})); - -const data = { - claim: 'title', - slug: 'slug', - claimant: 1, - rating: 1, - claim_date: moment(new Date('2020-12-12')), - checked_date: moment(new Date('2020-12-12')), - claim_sources: 'claim_sources', - fact: 'review', - review_tag_line: 'review_tag_line', - review_sources: 'review_sources', - description: { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: - 'Hey. Meet the new Editor. On this page you can see it in action — try to edit this text.', - }, - }, - ], - version: '2.18.0', - }, -}; - -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useSelector: jest.fn(), - useDispatch: jest.fn(), -})); - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -let onCreate, store; - -describe('Claims Create Form component', () => { - store = mockStore({ - claims: { - req: [], - details: {}, - loading: true, - }, - claimants: { - req: [], - details: {}, - loading: true, - }, - rating: { - req: [], - details: {}, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - }); - useDispatch.mockReturnValue(jest.fn(() => Promise.resolve({}))); - useSelector.mockImplementation((state) => ({ details: [], total: 0, loading: false })); - - describe('snapshot testing', () => { - beforeEach(() => { - onCreate = jest.fn(); - onCreate.mockImplementationOnce( - (values) => new Promise((resolve, reject) => resolve(values)), - ); - }); - it('should render the component', () => { - const tree = shallow( - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should match component with data', () => { - const tree = shallow( - - - , - ); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - let wrapper, props; - beforeEach(() => { - props = { - onCreate: jest.fn(), - data: data, - }; - act(() => { - wrapper = mount( - - - , - ); - }); - }); - afterEach(() => { - wrapper.unmount(); - }); - it('should not submit form with empty data', (done) => { - act(() => { - wrapper = mount( - - - , - ); - }); - - act(() => { - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.props().disabled).toBe(true); - }); - wrapper.update(); - - setTimeout(() => { - expect(props.onCreate).not.toHaveBeenCalled(); - done(); - }, 0); - }); - it('should submit form with given data', (done) => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - act(() => { - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - }); - wrapper.update(); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith({ - claim: 'title', - slug: 'slug', - claimant: 1, - claimant_id: 1, - rating: 1, - rating_id: 1, - claim_date: moment(new Date('2020-12-12')).format('YYYY-MM-DDTHH:mm:ssZ'), - checked_date: moment(new Date('2020-12-12')).format('YYYY-MM-DDTHH:mm:ssZ'), - claim_sources: 'claim_sources', - fact: 'review', - review_sources: 'review_sources', - meta: { - canonical_URL: undefined, - description: undefined, - title: undefined, - }, - description: { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: - 'Hey. Meet the new Editor. On this page you can see it in action — try to edit this text.', - }, - }, - ], - version: '2.18.0', - }, - }); - done(); - }, 0); - }); - it('should submit form with new name', (done) => { - const data2 = { ...data, id: 1 }; - data2.meta_fields = { - sample: 'testing', - }; - act(() => { - wrapper = mount( - - - , - ); - }); - act(() => { - wrapper.find(Collapse).at(2).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - - act(() => { - const input = wrapper.find('FormItem').at(1).find('TextArea').at(0); - input.simulate('change', { - target: { - value: - 'new name new claim title for testing claim update and testing slug update. slug maker should take only first one hundred and fifty characters to create a slug and not all characters from title, since claim title can be more than 150', - }, - }); - wrapper.find(Collapse).at(0).find('Button').at(0).simulate('click'); - - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Update'); - submitButtom.simulate('submit'); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith({ - claim: - 'new name new claim title for testing claim update and testing slug update. slug maker should take only first one hundred and fifty characters to create a slug and not all characters from title, since claim title can be more than 150', - slug: - 'new-name-new-claim-title-for-testing-claim-update-and-testing-slug-update-slug-maker-should-take-only-first-one-hundred-and-fifty-characters-to-creat', - claimant: 1, - claimant_id: 1, - rating: 1, - rating_id: 1, - claim_date: moment(new Date('2020-12-12')).format('YYYY-MM-DDTHH:mm:ssZ'), - checked_date: moment(new Date('2020-12-12')).format('YYYY-MM-DDTHH:mm:ssZ'), - claim_sources: 'claim_sources', - fact: 'review', - review_sources: 'review_sources', - description: { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: - 'Hey. Meet the new Editor. On this page you can see it in action — try to edit this text.', - }, - }, - ], - version: '2.18.0', - }, - meta_fields: { - sample: 'testing', - }, - }); - done(); - }, 0); - }); - it('should submit form with updated data', (done) => { - const newDescription = { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: 'updated description', - }, - }, - ], - version: '2.18.0', - }; - wrapper.update(); - act(() => { - wrapper - .find('FormItem') - .at(9) - .find('Editor') - .at(0) - .props() - .onChange({ target: { value: newDescription } }); - wrapper - .find('FormItem') - .at(1) - .find('TextArea') - .at(0) - .simulate('change', { target: { value: 'new name' } }); - wrapper - .find(SlugInput) - .find('FormItem') - .find('input') - .simulate('change', { target: { value: 'new-slug' } }); - wrapper - .find('FormItem') - .at(4) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 2 } }); - wrapper - .find('FormItem') - .at(5) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 3 } }); - wrapper - .find('FormItem') - .at(7) - .find(DatePicker) - .at(0) - .props() - .onChange({ target: { value: moment(new Date('2020-01-01')) } }); - wrapper - .find('FormItem') - .at(8) - .find(DatePicker) - .at(0) - .props() - .onChange({ target: { value: moment(new Date('2020-04-04')) } }); - wrapper - .find('FormItem') - .at(3) - .find('TextArea') - .at(0) - .simulate('change', { target: { value: 'new review' } }); - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith({ - claim: 'new name', - slug: 'new-slug', - claimant: 2, - claimant_id: 2, - rating: 3, - rating_id: 3, - claim_date: moment(new Date('2020-01-01')).format('YYYY-MM-DDTHH:mm:ssZ'), - checked_date: moment(new Date('2020-04-04')).format('YYYY-MM-DDTHH:mm:ssZ'), - claim_sources: 'claim_sources', - fact: 'new review', - review_sources: 'review_sources', - description: newDescription, - }); - done(); - }, 0); - }); - - it('should highlight form field with error in first panel', () => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - act(() => { - wrapper - .find('FormItem') - .at(1) - .find('TextArea') - .at(0) - .simulate('change', { target: { value: '' } }); - wrapper - .find('FormItem') - .at(4) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 2 } }); - wrapper - .find('FormItem') - .at(5) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 3 } }); - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - }); - expect(props.onCreate).not.toHaveBeenCalled(); - }); - it('should highlight form field with error in second panel', () => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - act(() => { - wrapper - .find('FormItem') - .at(1) - .find('TextArea') - .at(0) - .simulate('change', { target: { value: 'claim' } }); - wrapper - .find(SlugInput) - .find('FormItem') - .find('input') - .simulate('change', { target: { value: 'new-slug' } }); - wrapper - .find('FormItem') - .at(4) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 2 } }); - wrapper - .find('FormItem') - .at(5) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 3 } }); - }); - act(() => { - const formListInputCount = wrapper.find('FormList').find('Input').length; - expect(formListInputCount).toBe(0); - act(() => { - const button = wrapper.find('FormItem').at(10).find('Button').at(0); - expect(button.text()).toBe('Add Claim sources'); - button.simulate('click'); - }); - }); - act(() => { - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - }); - expect(props.onCreate).not.toHaveBeenCalled(); - }); - it('should add review sources input field on button click', () => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - const formListInputCount = wrapper.find('FormList').find('Input').length; - expect(formListInputCount).toBe(0); - act(() => { - const button = wrapper.find('FormItem').at(12).find('Button').at(0); - expect(button.text()).toBe('Add Review sources'); - button.simulate('click'); - }); - wrapper.update(); - expect(wrapper.find('FormList').find(Input).length).not.toBe(0); - }); - it('should remove review sources input field on button click', () => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - act(() => { - const button = wrapper.find('FormItem').at(12).find('Button'); - expect(button.text()).toBe('Add Review sources'); - button.simulate('click'); - }); - wrapper.update(); - const formInputFieldCount = wrapper.find('FormList').find(Input).length; - act(() => { - wrapper.find('FormList').find(MinusCircleOutlined).at(0).simulate('click'); - }); - wrapper.update(); - expect(wrapper.find('FormList').find(Input).length).toBe(formInputFieldCount - 2); - }); - it('should add claim sources input field on button click', () => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - const formListInputCount = wrapper.find('FormList').find('Input').length; - expect(formListInputCount).toBe(0); - act(() => { - const button = wrapper.find('FormItem').at(11).find('Button').at(0); - expect(button.text()).toBe('Add Claim sources'); - button.simulate('click'); - }); - wrapper.update(); - expect(wrapper.find('FormList').find(Input).length).not.toBe(0); - }); - it('should remove claim sources input field on button click', () => { - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - act(() => { - const button = wrapper.find('FormItem').at(11).find('Button'); - expect(button.text()).toBe('Add Claim sources'); - button.simulate('click'); - }); - wrapper.update(); - const formInputFieldCount = wrapper.find('FormList').find(Input).length; - act(() => { - wrapper.find('FormList').find(MinusCircleOutlined).at(0).simulate('click'); - }); - wrapper.update(); - expect(wrapper.find('FormList').find(Input).length).toBe(formInputFieldCount - 2); - }); - it('should submit with no dates', (done) => { - const data2 = { - claim: 'title', - slug: 'slug', - claimant: 1, - rating: 1, - claim_sources: 'claim_sources', - fact: 'review', - review_sources: 'review_sources', - description: { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: - 'Hey. Meet the new Editor. On this page you can see it in action — try to edit this text.', - }, - }, - ], - version: '2.18.0', - }, - }; - act(() => { - wrapper = mount( - - - , - ); - }); - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - act(() => { - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith({ - claim: 'title', - slug: 'slug', - claimant: 1, - claimant_id: 1, - rating: 1, - rating_id: 1, - claim_date: null, - checked_date: null, - claim_sources: 'claim_sources', - fact: 'review', - review_sources: 'review_sources', - description: { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: - 'Hey. Meet the new Editor. On this page you can see it in action — try to edit this text.', - }, - }, - ], - version: '2.18.0', - }, - meta: { - canonical_URL: undefined, - description: undefined, - title: undefined, - }, - }); - done(); - }, 0); - }); - - it('should not submit with empty url for review sources', (done) => { - const data2 = { - id: 1, - claim: 'title', - slug: 'slug', - claimant: 1, - rating: 1, - claim_sources: 'claim_sources', - fact: 'review', - description: { - time: 1595747741807, - blocks: [ - { - type: 'header', - data: { - text: 'Editor.js', - level: 2, - }, - }, - { - type: 'paragraph', - data: { - text: - 'Hey. Meet the new Editor. On this page you can see it in action — try to edit this text.', - }, - }, - ], - version: '2.18.0', - }, - }; - act(() => { - wrapper = mount( - - - , - ); - }); - act(() => { - wrapper.find(Collapse).at(1).find('Button').at(0).simulate('click'); - }); - wrapper.update(); - const formListInputCount = wrapper.find('FormList').find('Input').length; - expect(formListInputCount).toBe(0); - act(() => { - const button = wrapper.find('FormItem').at(12).find('Button').at(0); - expect(button.text()).toBe('Add Review sources'); - button.simulate('click'); - }); - wrapper.update(); - act(() => { - const submitButtom = wrapper.find('Button').at(0); - submitButtom.simulate('submit'); - wrapper.update(); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(0); - done(); - }, 0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/claims/components/ClaimForm.tsx b/studio/src/pages/claims/components/ClaimForm.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/components/ClaimForm.tsx rename to studio/src/pages/claims/components/ClaimForm.tsx diff --git a/studio/src/pages/claims/components/ClaimList.js b/studio/src/pages/claims/components/ClaimList.js deleted file mode 100644 index 4423494fb..000000000 --- a/studio/src/pages/claims/components/ClaimList.js +++ /dev/null @@ -1,229 +0,0 @@ -import React from 'react'; -import { Button, Table, Space, Typography, Modal, ConfigProvider } from 'antd'; -import { useDispatch } from 'react-redux'; -import { deleteClaim } from '../../../actions/claims'; -import { Link } from 'react-router-dom'; -import dayjs from 'dayjs'; -import { DeleteOutlined } from '@ant-design/icons'; -import useNavigation from '../../../utils/useNavigation'; - -function ClaimList({ actions, data, filters, fetchClaims, onPagination }) { - const dispatch = useDispatch(); - const [modalOpen, setModalOpen] = React.useState(false); - const [deleteItemId, setDeleteItemId] = React.useState(null); - - const history = useNavigation(); - const columns = [ - { - title: 'Claim', - dataIndex: 'claim', - width: 200, - key: 'claim', - onCell: () => { - return { - style: { - minWidth: '200px', - }, - }; - }, - render: (_, record) => { - return ( - - - {record.claim} - - - ); - }, - }, - { - title: 'Claimant', - dataIndex: 'claimant', - key: 'claimant', - // width: '20%', - width: 200, - onCell: () => { - return { - style: { - minWidth: '200px', - }, - }; - }, - render: (_, record) => { - return ( - - - {record.claimant} - - - ); - }, - }, - { - title: 'Rating', - dataIndex: 'rating', - key: 'rating', - // width: '20%', - width: 200, - onCell: () => { - return { - style: { - minWidth: '200px', - }, - }; - }, - render: (_, record) => { - return ( - - - {record.rating} - - - ); - }, - }, - { - title: 'Claim Date', - dataIndex: 'claim_date', - // width: '20%', - width: 200, - onCell: () => { - return { - style: { - minWidth: '200px', - }, - }; - }, - render: (_, record) => { - return ( - - - {record.claim_date ? dayjs(record.claim_date).format('MMMM Do YYYY') : null} - - - ); - }, - }, - { - title: 'Action', - dataIndex: 'operation', - align: 'center', - width: 150, - onCell: () => { - return { - style: { - minWidth: '150px', - }, - }; - }, - render: (_, record) => { - return ( - - {' '} -
, - }, - } - } - loading={true} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - Facebook - - False - - - September 2nd 2020 - - - -
- - - Facebook - - False - - - - -
-
, - }, - }, - "loading": true, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - - - - - Facebook - - False - - - September 2nd 2020 - - - } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - - - - - Facebook - - False - - - - } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
- - - - - - - - - - - - - -`; - -exports[`Claims List component snapshot testing should match component with claims 1`] = ` - - - - - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - Facebook - - False - - - September 2nd 2020 - - - -
- - - Facebook - - False - - - - -
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - Facebook - - False - - - September 2nd 2020 - - - -
- - - Facebook - - False - - - - -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- - - - - - - Facebook - - False - - - September 2nd 2020 - - - } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - - - - - Facebook - - False - - - - } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
-
- - - - - - - -
-
-
-
-
-`; - -exports[`Claims List component snapshot testing should render the component 1`] = ` - - - - - -
- -
- -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - 0, - 0, - 0, - ], - "right": Array [ - 0, - 0, - 0, - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - [Function] - - } - expandedKeys={Set {}} - getRowKey={[Function]} - measureColumnWidth={false} - > - - - - - - - - - - -
- Claim - - Claimant - - Rating - - Claim Date - - Action -
- } - > - -
-
- - - - - - - - - - - -
-
- No Data -
-
-
-
-
-
-
-
-
- -
- - - - - - - -
-
-
-
-
-`; diff --git a/studio-shadcn/src/pages/claims/hooks/useClaimsData.tsx b/studio/src/pages/claims/hooks/useClaimsData.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/hooks/useClaimsData.tsx rename to studio/src/pages/claims/hooks/useClaimsData.tsx diff --git a/studio-shadcn/src/pages/claims/hooks/useClaimsPagination.tsx b/studio/src/pages/claims/hooks/useClaimsPagination.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/hooks/useClaimsPagination.tsx rename to studio/src/pages/claims/hooks/useClaimsPagination.tsx diff --git a/studio-shadcn/src/pages/claims/hooks/useClaimsStatus.tsx b/studio/src/pages/claims/hooks/useClaimsStatus.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/hooks/useClaimsStatus.tsx rename to studio/src/pages/claims/hooks/useClaimsStatus.tsx diff --git a/studio/src/pages/claims/index.js b/studio/src/pages/claims/index.js deleted file mode 100644 index f44c36869..000000000 --- a/studio/src/pages/claims/index.js +++ /dev/null @@ -1,322 +0,0 @@ -/* eslint-disable react-hooks/exhaustive-deps */ -import React, { useEffect } from 'react'; -import { - Space, - Button, - Row, - Col, - Form, - Input, - Select, - Typography, - Tooltip, - ConfigProvider, - Result, -} from 'antd'; -import { PlusOutlined, SearchOutlined } from '@ant-design/icons'; -import { Link, useLocation, useNavigate } from 'react-router-dom'; -import ClaimList from './components/ClaimList'; -import { useDispatch, useSelector } from 'react-redux'; -import deepEqual from 'deep-equal'; -import Selector from '../../components/Selector'; -import { getClaims } from '../../actions/claims'; -import getUrlParams from '../../utils/getUrlParams'; -import Loader from '../../components/Loader'; -import { Helmet } from 'react-helmet'; -import Filters from '../../utils/filters'; -import { getRatings } from '../../actions/ratings'; -import { getClaimants } from '../../actions/claimants'; - -const { Option } = Select; - -function Claims({ permission }) { - const { actions } = permission; - const dispatch = useDispatch(); - const { search } = useLocation(); - const history = useNavigate(); - const query = new URLSearchParams(search); - const [searchFieldExpand, setSearchFieldExpand] = React.useState(false); - const [isMobileScreen, setIsMobileScreen] = React.useState(false); - - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth < 768) { - setIsMobileScreen(true); - } else { - setIsMobileScreen(false); - } - }; - window.addEventListener('resize', handleResize); - handleResize(); - return () => window.removeEventListener('resize', handleResize); - }, []); - - const keys = ['page', 'limit', 'q', 'sort', 'rating', 'claimant']; - const params = getUrlParams(query, keys); - - const [form] = Form.useForm(); - - useEffect(() => { - if (form) form.setFieldsValue(new Filters(params)); - }, [search]); - - useEffect(() => { - fetchClaims(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [search]); - const fetchClaims = () => { - dispatch(getClaims(params)); - }; - - React.useEffect(() => { - fetchClaimants(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const fetchClaimants = () => { - dispatch(getClaimants()); - }; - - useEffect(() => { - fetchRatings(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const fetchRatings = () => { - dispatch(getRatings()); - }; - - const { claimantsCount, ratingsCount, claimantsLoading, ratingsLoading } = useSelector( - ({ claimants, ratings }) => { - return { - claimantsCount: claimants?.req?.[0]?.data ? claimants?.req?.[0]?.data.length : 0, - ratingsCount: Object.keys(ratings.details).length, - claimantsLoading: claimants.loading, - ratingsLoading: ratings.loading, - }; - }, - ); - - const { claims, total, loading } = useSelector((state) => { - const node = state.claims.req.find((item) => { - return deepEqual(item.query, params); - }); - - if (node) { - const list = node.data.map((element) => { - let claim = state.claims.details[element]; - claim.claimant = state.claimants.details[claim.claimant_id]?.name; - claim.rating = state.ratings.details[claim.rating_id]?.name; - return claim; - }); - return { - claims: list, - total: node.total, - loading: state.claims.loading, - }; - } - return { claims: [], total: 0, loading: state.claims.loading }; - }); - - const onSave = (values) => { - let searchFilter = new URLSearchParams(); - Object.keys(values).forEach(function (key) { - if (values[key]) { - if (key === 'rating' || key === 'claimant') { - values[key].map((each) => { - return searchFilter.append(key, each); - }); - } else { - searchFilter.set(key, values[key]); - } - } - }); - - history({ - pathName: '/claims', - search: '?' + searchFilter.toString(), - }); - }; - - const onPagination = (page, limit) => { - query.set('limit', limit); - query.set('page', page); - history({ - pathName: '/claims', - search: '?' + query.toString(), - }); - }; - - if ( - (!loading && !claimantsLoading && claimantsCount === 0) || - (!ratingsLoading && ratingsCount === 0) - ) { - const isRatingsCountZero = !ratingsLoading && ratingsCount === 0; - const isClaimantsCountZero = !claimantsLoading && claimantsCount === 0; - - const title = - isClaimantsCountZero && isRatingsCountZero - ? 'No claimants and ratings found' - : isClaimantsCountZero - ? 'No claimants found' - : 'No ratings found'; - - const subTitle = - isClaimantsCountZero && isRatingsCountZero - ? 'Create claimants and ratings first to create claims' - : isClaimantsCountZero - ? 'Create claimants to first to create claims' - : 'Create ratings first to create claims'; - - const extra = - isClaimantsCountZero && isRatingsCountZero ? ( - - - - - - - - - - - - - ) : isClaimantsCountZero ? ( - - - - ) : ( - - - - ); - - return ; - } - - return loading ? ( - - ) : ( - - - -
onSave(values)} - style={{ maxWidth: '100%' }} - onValuesChange={(changedValues, allValues) => { - if (!changedValues.q) { - onSave(allValues); - } - }} - > - - - - - - Claims - - - - {searchFieldExpand ? ( - - - - - - - - - ) : ( - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- -
- ); -} - -export default Claims; diff --git a/studio/src/pages/claims/index.test.js b/studio/src/pages/claims/index.test.js deleted file mode 100644 index 50e7c5d84..000000000 --- a/studio/src/pages/claims/index.test.js +++ /dev/null @@ -1,473 +0,0 @@ -import React from 'react'; -import { BrowserRouter as Router } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from 'react-dom/test-utils'; - -import '../../matchMedia.mock'; -import Claims from './index'; -import { mount } from 'enzyme'; -import { getClaims } from '../../actions/claims'; -import { Table } from 'antd'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: () => ({ - push: jest.fn(), - }), -})); - -jest.mock('../../actions/claims', () => ({ - getClaims: jest.fn(), -})); -let state = { - claims: { - req: [ - { - data: [1], - query: {}, - total: 1, - }, - ], - details: { - 1: { - id: 1, - created_at: '2020-07-17T10:14:44.251814Z', - updated_at: '2020-07-17T10:14:44.251814Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-1', - slug: 'claim-1', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }, - }, - loading: false, - }, - claimants: { - req: [ - { - data: [1], - query: { - page: 1, - }, - total: 1, - }, - ], - details: { - 1: { - id: 1, - name: 'TOI', - slug: 'toi', - description: { - time: 1613556798273, - blocks: [{ type: 'header', data: { text: 'Description', level: 2 } }], - version: '2.19.0', - }, - tag_line: 'tag line', - claimant_date: '2017-12-12', - }, - }, - loading: false, - }, - ratings: { - req: [], - details: { - 1: { - id: 1, - name: 'True', - slug: 'true', - description: { - time: 1613559903378, - blocks: [{ type: 'paragraph', data: { text: 'Description' } }], - version: '2.19.0', - }, - numeric_value: 5, - }, - }, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - sidebar: { - collapsed: false, - }, -}; - -let cachedQueryState = { - claims: { - req: [ - { - data: [2, 1], - query: { - sort: 'desc', - limit: 10, - page: 1, - }, - total: 2, - }, - ], - details: { - 1: { - id: 1, - created_at: '2020-07-17T10:14:44.251814Z', - updated_at: '2020-07-17T10:14:44.251814Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-1', - slug: 'claim-1', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }, - 2: { - id: 2, - created_at: '2020-08-17T10:14:44.251814Z', - updated_at: '2020-08-17T10:14:44.251814Z', - checked_date: '2020-08-17T10:14:44.251814Z', - claim_date: '2020-0-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-2', - slug: 'claim-2', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }, - }, - loading: false, - }, - claimants: { - req: [ - { - data: [1], - query: { - page: 1, - }, - total: 1, - }, - ], - details: { - 1: { - id: 1, - name: 'TOI', - slug: 'toi', - description: { - time: 1613556798273, - blocks: [{ type: 'header', data: { text: 'Description', level: 2 } }], - version: '2.19.0', - }, - tag_line: 'tag line', - claimant_date: '2017-12-12', - }, - }, - loading: false, - }, - ratings: { - req: [], - details: { - 1: { - id: 1, - name: 'True', - slug: 'true', - description: { - time: 1613559903378, - blocks: [{ type: 'paragraph', data: { text: 'Description' } }], - version: '2.19.0', - }, - numeric_value: 5, - }, - }, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - sidebar: { - collapsed: false, - }, -}; - -describe('Claims List component', () => { - let store; - let mockedDispatch; - describe('snapshot testing', () => { - beforeEach(() => { - store = mockStore(state); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should render the component', () => { - let state2 = { - claims: { - req: [], - details: {}, - loading: false, - }, - claimants: { - req: [ - { - data: [1], - query: { - page: 1, - }, - total: 1, - }, - ], - details: { - 1: { - id: 1, - name: 'TOI', - slug: 'toi', - description: { - time: 1613556798273, - blocks: [{ type: 'header', data: { text: 'Description', level: 2 } }], - version: '2.19.0', - }, - tag_line: 'tag line', - claimant_date: '2017-12-12', - }, - }, - loading: false, - }, - ratings: { - req: [], - details: { - 1: { - id: 1, - name: 'True', - slug: 'true', - description: { - time: 1613559903378, - blocks: [{ type: 'paragraph', data: { text: 'Description' } }], - version: '2.19.0', - }, - numeric_value: 5, - }, - }, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - sidebar: { - collapsed: false, - }, - }; - store = mockStore(state2); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should render the component with data', () => { - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - expect(getClaims).toHaveBeenCalledWith({ - limit: 10, - page: 1, - sort: 'desc', - }); - }); - it('should render loader component', () => { - const loadingState = { - ...state, - claims: { - ...state.claims, - loading: true, - }, - }; - store = mockStore(loadingState); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should render the component with cached query data', () => { - store = mockStore(cachedQueryState); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - beforeEach(() => { - jest.clearAllMocks(); - mockedDispatch = jest.fn(() => new Promise((resolve) => resolve(true))); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should handle url search params', () => { - let wrapper; - window.history.pushState({}, '', '/claims?limit=20&page=1&sort=desc&claimant=1'); - const state2 = { ...state }; - state2.claims = { - req: [ - { - data: [1], - query: {}, - total: 1, - }, - ], - details: { - 1: { - id: 1, - created_at: '2020-07-17T10:14:44.251814Z', - updated_at: '2020-07-17T10:14:44.251814Z', - checked_date: '2020-07-17T10:14:44.251814Z', - claim_date: '2020-07-17T10:14:44.251814Z', - deleted_at: null, - name: 'claim-1', - slug: 'claim-1', - description: '', - claimant_id: 1, - rating_id: 1, - space_id: 1, - }, - }, - loading: false, - }; - const store2 = mockStore(state2); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(getClaims).toHaveBeenCalledWith({ page: 1, limit: 20, sort: 'desc', claimant: [1] }); - }); - it('should change the page', () => { - let wrapper; - wrapper = mount( - - - - - , - ); - const table = wrapper.find(Table); - table.props().pagination.onChange(1); - wrapper.update(); - const updatedTable = wrapper.find(Table); - expect(updatedTable.props().pagination.current).toEqual(1); - }); - it('should submit filters', () => { - store = mockStore(state); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - wrapper - .find('input') - .at(0) - .simulate('change', { target: { value: 'fact check' } }); - wrapper - .find('FormItem') - .at(4) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 'asc' } }); - wrapper - .find('FormItem') - .at(2) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: [1] } }); - wrapper - .find('FormItem') - .at(3) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: [] } }); - - const submitButtom = wrapper.find('Button').at(0); - submitButtom.simulate('submit'); - }); - - setTimeout(() => { - expect(getClaims).toHaveBeenCalledWith({ - page: 1, - limit: 5, - q: 'fact check', - rating: [1], - claimant: [1], - }); - }, 0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/claims/index.tsx b/studio/src/pages/claims/index.tsx similarity index 100% rename from studio-shadcn/src/pages/claims/index.tsx rename to studio/src/pages/claims/index.tsx diff --git a/studio-shadcn/src/pages/claims/types.ts b/studio/src/pages/claims/types.ts similarity index 100% rename from studio-shadcn/src/pages/claims/types.ts rename to studio/src/pages/claims/types.ts diff --git a/studio/src/pages/dashboard/__snapshots__/index.test.js.snap b/studio/src/pages/dashboard/__snapshots__/index.test.js.snap deleted file mode 100644 index 76ef08ecc..000000000 --- a/studio/src/pages/dashboard/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,1420 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Dashboard component snapshot testing should render the component 1`] = ` - - - - - -
- -
- - - - - -
-
- -
- - <Base - component="h2" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h2" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h2 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Dashboard - </h2> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - -
-
- -
- -
- -
- -
-
- -
- -
- - <Base - component="h3" - style={ - Object { - "marginBottom": 0, - } - } - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h3" - style={ - Object { - "WebkitLineClamp": undefined, - "marginBottom": 0, - } - } - > - <h3 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - "marginBottom": 0, - } - } - > - Posts - </h3> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - -
- - -
- -
- -
- -
-
-
-
- Total -
-
-
- -
-
-
- - -
- -
-
-
-
- Published -
-
-
- -
-
-
- - -
- -
-
-
-
- Draft -
-
-
- -
-
-
- - -
- -
-
-
-
- Ready to publish -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
- - -
- -
-
- -
- -
- - <Base - component="h3" - style={ - Object { - "marginBottom": 0, - } - } - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h3" - style={ - Object { - "WebkitLineClamp": undefined, - "marginBottom": 0, - } - } - > - <h3 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - "marginBottom": 0, - } - } - > - Fact Checks - </h3> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - -
- - -
- -
- -
- -
-
-
-
- Total -
-
-
- -
-
-
- - -
- -
-
-
-
- Published -
-
-
- -
-
-
- - -
- -
-
-
-
- Draft -
-
-
- -
-
-
- - -
- -
-
-
-
- Ready to publish -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
- -
-
-
-
- -
- -
- -
- -
- - - - - -`; diff --git a/studio/src/pages/dashboard/components/Features.js b/studio/src/pages/dashboard/components/Features.js deleted file mode 100644 index 251fa0a45..000000000 --- a/studio/src/pages/dashboard/components/Features.js +++ /dev/null @@ -1,125 +0,0 @@ -import { Button, Typography, Card, Space } from 'antd'; -import { PlusOutlined } from '@ant-design/icons'; -import React from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import { addDefaultFormats, getFormats } from '../../../actions/formats'; -import { addDefaultPolicies, getPolicies } from '../../../actions/policies'; -import { addDefaultRatings, getRatings } from '../../../actions/ratings'; - -import useNavigation from '../../../utils/useNavigation'; - -function Features() { - const dispatch = useDispatch(); - const navigate = useNavigation(); - - const selectedSpace = useSelector((state) => ({ space_id: state.spaces.selected })); - React.useEffect(() => { - fetchEntities(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - const { - ratings, - ratingsLoading, - formats, - formatsLoading, - policies, - policiesLoading, - loadingServices, - } = useSelector(({ ratings, formats, policies, events, spaces }) => { - return { - ratings: Object.keys(ratings.details).length, - ratingsLoading: ratings.loading, - formats: Object.keys(formats.details).length, - formatsLoading: formats.loading, - policies: Object.keys(policies.details).length, - policiesLoading: policies.loading, - events: Object.keys(events.details).length, - eventsLoading: events.loading, - loadingServices: spaces.loading, - }; - }); - - React.useEffect(() => { - fetchEntities(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - const fetchEntities = () => { - if (!loadingServices) { - dispatch(getRatings()); - - dispatch(getFormats()); - dispatch(getPolicies()); - } - }; - - return ( - <> - {!ratingsLoading && - !policiesLoading && - !formatsLoading && - (ratings < 1 || formats < 1 || policies < 1) ? ( - Add default features - ) : null} - - - {ratingsLoading && loadingServices ? null : ratings > 0 ? null : ( - { - dispatch(addDefaultRatings()).then(() => navigate('/ratings')); - }} - > - CREATE RATINGs - , - ]} - style={{ width: 300 }} - > - Five ratings will be created True, Partly True, Misleading, Partly False and False. - Click below Button to create - - )} - - {formatsLoading ? null : formats > 0 ? null : ( - { - dispatch(addDefaultFormats(selectedSpace)); - }} - > - CREATE FORMATS - , - ]} - style={{ width: 300 }} - > - Two formats will be created Fact Check and Article. Click below Button to create - - )} - {policiesLoading ? null : policies > 0 ? null : ( - { - dispatch(addDefaultPolicies()).then(() => navigate('settings/members/policies')); - }} - > - CREATE POLICIES - , - ]} - style={{ width: 300 }} - > - Three policies will be created Editor, Author and Contributor. Click below Button to - create - - )} - - - ); -} - -export default Features; diff --git a/studio/src/pages/dashboard/components/Features.test.js b/studio/src/pages/dashboard/components/Features.test.js deleted file mode 100644 index caeda1aad..000000000 --- a/studio/src/pages/dashboard/components/Features.test.js +++ /dev/null @@ -1,241 +0,0 @@ -import React from 'react'; -import { BrowserRouter as Router, Link } from 'react-router-dom'; -import { Button } from 'antd'; -import { Provider, useDispatch } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { mount } from 'enzyme'; -import { act } from 'react-dom/test-utils'; - -import '../../../matchMedia.mock'; -import Features from './Features'; -import { addDefaultFormats, getFormats } from '../../../actions/formats'; -import { addDefaultPolicies, getPolicies } from '../../../actions/policies'; -import { addDefaultRatings, getRatings } from '../../../actions/ratings'; -import { addDefaultEvents, getEvents } from '../../../actions/events'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); -jest.mock('../../../actions/formats', () => ({ - getFormats: jest.fn(), - addDefaultFormats: jest.fn(), -})); - -jest.mock('../../../actions/ratings', () => ({ - getRatings: jest.fn(), - addDefaultRatings: jest.fn(), -})); - -jest.mock('../../../actions/policies', () => ({ - getPolicies: jest.fn(), - addDefaultPolicies: jest.fn(), -})); - -jest.mock('../../../actions/events', () => ({ - getEvents: jest.fn(), - addDefaultEvents: jest.fn(), -})); - -let store, mockedDispatch; -let state = { - admin: { - organisation: { - id: 1, - is_admin: true, - }, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11', permissions: [{ resource: 'admin', actions: ['admin'] }] }, - }, - loading: false, - selected: 11, - }, - ratings: { - details: { - 1: { - id: 1, - }, - 2: { - id: 2, - }, - }, - }, - policies: { - details: { - 1: { - id: 1, - }, - 2: { - id: 2, - }, - }, - }, - events: { - details: { - 1: { - id: 1, - }, - 2: { - id: 2, - }, - }, - }, - formats: { - details: { - 1: { - id: 1, - }, - 2: { - id: 2, - }, - }, - }, -}; - -describe('Dashboard feature component', () => { - describe('snapshot testing', () => { - beforeEach(() => { - store = mockStore({}); - store.dispatch = jest.fn(); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should render the component', () => { - store = mockStore(state); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - expect(getEvents).toHaveBeenCalled(); - expect(getFormats).toHaveBeenCalled(); - expect(getPolicies).toHaveBeenCalled(); - expect(getRatings).toHaveBeenCalled(); - }); - }); - describe('component testing', () => { - beforeEach(() => { - jest.clearAllMocks(); - mockedDispatch = jest.fn(() => new Promise((resolve) => resolve(true))); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should addDefaultRatings', () => { - const state2 = { ...state }; - state2.ratings.details = {}; - const store2 = mockStore(state2); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - }); - act(() => { - const addButton = wrapper.find('Button').at(0); - expect(addButton.text()).toBe(' CREATE RATINGS'); - addButton.simulate('click'); - }); - wrapper.update(); - expect(addDefaultRatings).toHaveBeenCalled(); - }); - it('should addDefaultEvents', () => { - const state2 = { ...state }; - state2.events.details = {}; - const store2 = mockStore(state2); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - }); - act(() => { - const addButton = wrapper.find('Button').at(1); - expect(addButton.text()).toBe(' CREATE EVENTS'); - addButton.simulate('click'); - }); - wrapper.update(); - expect(addDefaultEvents).toHaveBeenCalled(); - }); - it('should not display Events option if not super admin', () => { - const state2 = { ...state }; - state2.admin = { - organisation: { - id: 1, - }, - }; - const store2 = mockStore(state2); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(wrapper.find(Button).text()).not.toBe(' CREATE EVENTS'); - }); - it('should addDefaultPolicies', () => { - const state2 = { ...state }; - state2.policies.details = {}; - const store2 = mockStore(state2); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - }); - act(() => { - const addButton = wrapper.find('Button').at(1); - expect(addButton.text()).toBe(' CREATE POLICIES'); - addButton.simulate('click'); - }); - wrapper.update(); - expect(addDefaultPolicies).toHaveBeenCalled(); - }); - it('should addDefaultFormats', () => { - const state2 = { ...state }; - state2.formats.details = {}; - const store2 = mockStore(state2); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - }); - act(() => { - const addButton = wrapper.find('Button').at(1); - expect(addButton.text()).toBe(' CREATE FORMATS'); - addButton.simulate('click'); - }); - wrapper.update(); - expect(addDefaultFormats).toHaveBeenCalled(); - }); - }); -}); diff --git a/studio-shadcn/src/pages/dashboard/components/Features.tsx b/studio/src/pages/dashboard/components/Features.tsx similarity index 100% rename from studio-shadcn/src/pages/dashboard/components/Features.tsx rename to studio/src/pages/dashboard/components/Features.tsx diff --git a/studio-shadcn/src/pages/dashboard/components/StatisticCard.tsx b/studio/src/pages/dashboard/components/StatisticCard.tsx similarity index 100% rename from studio-shadcn/src/pages/dashboard/components/StatisticCard.tsx rename to studio/src/pages/dashboard/components/StatisticCard.tsx diff --git a/studio/src/pages/dashboard/components/__snapshots__/Features.test.js.snap b/studio/src/pages/dashboard/components/__snapshots__/Features.test.js.snap deleted file mode 100644 index 55345b2bc..000000000 --- a/studio/src/pages/dashboard/components/__snapshots__/Features.test.js.snap +++ /dev/null @@ -1,83 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Dashboard feature component snapshot testing should render the component 1`] = ` - - - - - -
- - - - -
-
-
-
-
-
-`; diff --git a/studio/src/pages/dashboard/index.js b/studio/src/pages/dashboard/index.js deleted file mode 100644 index 12c79a904..000000000 --- a/studio/src/pages/dashboard/index.js +++ /dev/null @@ -1,160 +0,0 @@ -import React, { useEffect } from 'react'; -import { Col, Row, Space, Statistic, Typography, Card } from 'antd'; - -import { useDispatch, useSelector } from 'react-redux'; -import { getInfo } from '../../actions/info'; -import { Link } from 'react-router-dom'; -import { Helmet } from 'react-helmet'; -import Loader from '../../components/Loader'; - -const styles = { - justifyContent: 'center', -}; - -function Dashboard() { - const { Title } = Typography; - const { spaces, info } = useSelector(({ spaces, info }) => ({ - spaces, - info, - })); - const dispatch = useDispatch(); - - useEffect(() => { - if (spaces.selected !== '') fetchInfo(); - }, []); - - const fetchInfo = () => { - dispatch(getInfo()); - }; - - const { article = {}, factCheck = {}, loading } = info; - const articlePublish = Number(article.publish) || 0; - const articleDraft = Number(article.draft) || 0; - const articleReady = Number(article.ready) || 0; - const articleFuture = Number(article.future) || 0; - const factCheckPublish = Number(factCheck.publish) || 0; - const factCheckDraft = Number(factCheck.draft) || 0; - const factCheckReady = Number(factCheck.ready) || 0; - const factCheckFuture = Number(factCheck.future) || 0; - - if (loading) { - return ; - } - - return ( - - - Dashboard - - - - - - - Posts - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Fact Checks - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -} - -export default Dashboard; diff --git a/studio/src/pages/dashboard/index.test.js b/studio/src/pages/dashboard/index.test.js deleted file mode 100644 index 7ed63aaa9..000000000 --- a/studio/src/pages/dashboard/index.test.js +++ /dev/null @@ -1,105 +0,0 @@ -import React from 'react'; -import { BrowserRouter as Router, Link } from 'react-router-dom'; - -import { Provider, useDispatch } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { mount } from 'enzyme'; -import { act } from 'react-dom/test-utils'; - -import '../../matchMedia.mock'; -import Dashboard from './index'; -import { getInfo } from '../../actions/info'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); -jest.mock('../../actions/info', () => ({ - getInfo: jest.fn(), -})); -jest.mock('./components/Features', () => { - const Features = () =>
; - return Features; -}); - -let store, mockedDispatch; -let state = { - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11', permissions: [{ resource: 'admin', actions: ['admin'] }] }, - }, - loading: false, - selected: 11, - }, - info: { - categories: 5, - episodes: 4, - podcasts: 2, - article: { - draft: 38, - template: 3, - publish: 21, - ready: 13, - }, - factCheck: { - draft: 31, - template: 6, - publish: 5, - ready: 4, - }, - posts: [], - tags: 10, - }, -}; - -describe('Dashboard component', () => { - describe('snapshot testing', () => { - beforeEach(() => { - store = mockStore({}); - store.dispatch = jest.fn(); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should render the component', () => { - store = mockStore(state); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - expect(getInfo).toHaveBeenCalled(); - }); - }); - describe('component testing', () => { - beforeEach(() => { - jest.clearAllMocks(); - mockedDispatch = jest.fn(() => new Promise((resolve) => resolve(true))); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should hide default feature option if not admin', () => { - const state2 = { ...state }; - state2.spaces.details = { - 11: { id: 11, name: 'Space 11' }, - }; - const store2 = mockStore(state2); - let wrapper; - act(() => { - wrapper = mount( - - - - - , - ); - }); - }); - }); -}); diff --git a/studio-shadcn/src/pages/dashboard/index.tsx b/studio/src/pages/dashboard/index.tsx similarity index 100% rename from studio-shadcn/src/pages/dashboard/index.tsx rename to studio/src/pages/dashboard/index.tsx diff --git a/studio-shadcn/src/pages/dashboard/types.ts b/studio/src/pages/dashboard/types.ts similarity index 100% rename from studio-shadcn/src/pages/dashboard/types.ts rename to studio/src/pages/dashboard/types.ts diff --git a/studio/src/pages/events/CreateEvent.js b/studio/src/pages/events/CreateEvent.js deleted file mode 100644 index 717072f6c..000000000 --- a/studio/src/pages/events/CreateEvent.js +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; -import { useDispatch } from 'react-redux'; -import { createEvent } from '../../actions/events'; - -import EventCreateForm from './components/EventForm'; -import { Helmet } from 'react-helmet'; -import useNavigation from '../../utils/useNavigation'; - -function CreateEvent() { - const history = useNavigation(); - const dispatch = useDispatch(); - const onCreate = (values) => { - dispatch(createEvent(values)).then(() => history('/admin/events')); - }; - return ( - <> - - - - ); -} - -export default CreateEvent; diff --git a/studio/src/pages/events/CreateEvent.test.js b/studio/src/pages/events/CreateEvent.test.js deleted file mode 100644 index 5f59be1b9..000000000 --- a/studio/src/pages/events/CreateEvent.test.js +++ /dev/null @@ -1,97 +0,0 @@ -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { BrowserRouter as Router } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from 'react-dom/test-utils'; -import { mount } from 'enzyme'; - -import '../../matchMedia.mock'; -import CreateEvent from './CreateEvent'; -import * as actions from '../../actions/events'; -import EventCreateForm from './components/EventForm'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), -})); - -jest.mock('../../actions/events', () => ({ - getEvents: jest.fn(), - createEvent: jest.fn(), -})); - -describe('Event create component', () => { - let store; - let mockedDispatch; - store = mockStore({ - events: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - }); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(() => Promise.resolve({})); - useDispatch.mockReturnValue(mockedDispatch); - describe('snapshot testing', () => { - it('should render the component', () => { - let tree; - act(() => { - tree = mount( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - tree.unmount(); - }); - }); - describe('component testing', () => { - let wrapper; - afterEach(() => { - wrapper.unmount(); - }); - it('should call createEvent', (done) => { - actions.createEvent.mockReset(); - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - act(() => { - wrapper = mount( - - - - - , - ); - }); - wrapper.find(EventCreateForm).props().onCreate({ id: 1, name: 'test' }); - setTimeout(() => { - expect(actions.createEvent).toHaveBeenCalledWith({ id: 1, name: 'test' }); - done(); - }, 0); - }); - }); -}); diff --git a/studio/src/pages/events/EditEvent.js b/studio/src/pages/events/EditEvent.js deleted file mode 100644 index 9366a87ef..000000000 --- a/studio/src/pages/events/EditEvent.js +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import EventEditForm from './components/EventForm'; -import { useDispatch, useSelector } from 'react-redux'; -import { updateEvent, getEvent } from '../../actions/events'; - -import { useParams } from 'react-router-dom'; -import { Skeleton } from 'antd'; -import RecordNotFound from '../../components/ErrorsAndImage/RecordNotFound'; -import { Helmet } from 'react-helmet'; -import useNavigation from '../../utils/useNavigation'; - -function EditEvent() { - const history = useNavigation(); - const { id } = useParams(); - - const dispatch = useDispatch(); - const { event, loading } = useSelector((state) => { - return { - event: state.events.details[id] ? state.events.details[id] : null, - loading: state.events.loading, - }; - }); - - React.useEffect(() => { - dispatch(getEvent(id)); - }, [dispatch, id]); - - if (loading) return ; - - if (!event) { - return ; - } - - const onUpdate = (values) => { - dispatch(updateEvent({ ...event, ...values })); - history(`/admin/events/${id}/edit`); - }; - return ( - <> - - - - ); -} - -export default EditEvent; diff --git a/studio/src/pages/events/EditEvent.test.js b/studio/src/pages/events/EditEvent.test.js deleted file mode 100644 index 1b7627e46..000000000 --- a/studio/src/pages/events/EditEvent.test.js +++ /dev/null @@ -1,189 +0,0 @@ -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import { BrowserRouter as Router } from 'react-router-dom'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from 'react-dom/test-utils'; -import { mount } from 'enzyme'; - -import '../../matchMedia.mock'; -import EditEvent from './EditEvent'; -import * as actions from '../../actions/events'; -import EventEditForm from './components/EventForm'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), - useParams: jest.fn().mockReturnValue({ id: '1' }), -})); - -jest.mock('../../actions/events', () => ({ - getEvents: jest.fn(), - addEvent: jest.fn(), - getEvent: jest.fn(), - updateEvent: jest.fn(), -})); - -let state = { - events: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, -}; - -describe('Event edit component', () => { - let store; - let mockedDispatch; - store = mockStore(state); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(() => Promise.resolve({})); - useDispatch.mockReturnValue(mockedDispatch); - - describe('snapshot testing', () => { - it('should render the component', () => { - let tree; - act(() => { - tree = mount( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - it('should match skeleton while loading', () => { - let tree; - store = mockStore({ - events: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - }); - act(() => { - tree = mount( - - - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - let wrapper; - state.events = { - req: [], - details: { - 1: { - id: 1, - name: 'event-1', - }, - }, - loading: false, - }; - beforeEach(() => { - store = mockStore(state); - }); - afterEach(() => { - wrapper.unmount(); - }); - it('should call get action', () => { - actions.getEvent.mockReset(); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(actions.getEvent).toHaveBeenCalledWith('1'); - }); - it('should call updateEvent', (done) => { - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - actions.updateEvent.mockReset(); - act(() => { - wrapper = mount( - - - - - , - ); - }); - - wrapper - .find(EventEditForm) - .props() - .onCreate({ tags: { app: 'dega' } }); - setTimeout(() => { - expect(actions.updateEvent).toHaveBeenCalledWith({ - id: 1, - name: 'event-1', - tags: { app: 'dega' }, - }); - expect(push).toHaveBeenCalledWith('/admin/events/1/edit'); - done(); - }, 0); - }); - it('should display RecordNotFound if event not found', () => { - state.events = { - req: [], - details: { - 2: { - id: 2, - name: 'event-2', - }, - }, - loading: false, - }; - store = mockStore(state); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(wrapper.find('RecordNotFound').length).toBe(1); - expect(wrapper.find(EventEditForm).length).toBe(0); - }); - }); -}); diff --git a/studio/src/pages/events/__snapshots__/CreateEvent.test.js.snap b/studio/src/pages/events/__snapshots__/CreateEvent.test.js.snap deleted file mode 100644 index 0bb824952..000000000 --- a/studio/src/pages/events/__snapshots__/CreateEvent.test.js.snap +++ /dev/null @@ -1,690 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Event create component snapshot testing should render the component 1`] = ` - - - - - - - - - - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="create-event_name" - inputType="input" - onChange={[Function]} - placeholder="Enter name" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - -
- - - -
-
- - - - - -
- - -
- - - - - - -
- - - -
-
-
- -
- -
- - - -
-
- -
- - - -
-
-
-
-
-
- - - - - -
- -
-
-
-
- - - - - - - -`; diff --git a/studio/src/pages/events/__snapshots__/EditEvent.test.js.snap b/studio/src/pages/events/__snapshots__/EditEvent.test.js.snap deleted file mode 100644 index 679f40e89..000000000 --- a/studio/src/pages/events/__snapshots__/EditEvent.test.js.snap +++ /dev/null @@ -1,813 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Event edit component snapshot testing should match skeleton while loading 1`] = ` - - - - - -
-
- - <h3 - className="ant-skeleton-title" - style={ - Object { - "width": "38%", - } - } - /> - - -
    -
  • -
  • -
  • -
-
-
-
-
-
-
-
-
-`; - -exports[`Event edit component snapshot testing should render the component 1`] = ` - - - - - - - - - - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="create-event_name" - inputType="input" - onChange={[Function]} - placeholder="Enter name" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="event-1" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - -
- - - -
-
- - - - - -
- - -
- - - - - - -
- - - -
-
-
- -
- -
- - - -
-
- -
- - - -
-
-
-
-
-
- - - - - -
- -
-
-
-
- - - - - - - -`; diff --git a/studio/src/pages/events/__snapshots__/index.test.js.snap b/studio/src/pages/events/__snapshots__/index.test.js.snap deleted file mode 100644 index 1a0848cc5..000000000 --- a/studio/src/pages/events/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,3074 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Event component snapshot testing should render the component 1`] = ` - - - - - -
- -
- - - - - -
-
- - - - -
- - -
- -
-
-
- - - - - - -
-
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - -
- Name - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - } - } - loading={true} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - -
- Name - - Action -
-
-
- - - - - - - - - -
-
- No Data -
-
-
-
, - }, - }, - "loading": true, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 0, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - ], - "right": Array [ - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - -
-
- - - - - - - - - - - - - - [Function] - - } - expandedKeys={Set {}} - getRowKey={[Function]} - measureColumnWidth={false} - > - - - - - - - - - - -
- Name - - Action -
- } - > - -
-
- - - - - - - - - - - -
-
- No Data -
-
-
-
-
-
-
-
-
- -
-
- -
- - -
- -
- - - - - -`; - -exports[`Event component snapshot testing should render the component with data 1`] = ` - - - - - -
- -
- - - - - -
-
- - - - -
- - -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event -

-
-
- -
-
, - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 1, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event -

-
-
- -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 1, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - ], - "right": Array [ - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- - - -

- Event -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={1} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-1 of 1 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
-
-
- -
- - - - - -
- -
-
-
-`; diff --git a/studio/src/pages/events/components/EventForm.js b/studio/src/pages/events/components/EventForm.js deleted file mode 100644 index 72ce1d390..000000000 --- a/studio/src/pages/events/components/EventForm.js +++ /dev/null @@ -1,68 +0,0 @@ -import React from 'react'; -import { Button, Form, Input, Space } from 'antd'; -import MonacoEditor from '../../../components/MonacoEditor'; -const layout = { - labelCol: { - span: 9, - }, - wrapperCol: { - span: 7, - }, -}; -const tailLayout = { - wrapperCol: { - offset: 10, - span: 14, - }, -}; - -const EventForm = ({ onCreate, data = {} }) => { - const [form] = Form.useForm(); - if (data && data.tags) { - if (typeof data.tags !== 'string') { - data.tags = JSON.stringify(data.tags); - } - } - - const onReset = () => { - form.resetFields(); - }; - const getJsonVal = (val) => { - let regex = /,(?!\s*?[{["'\w])/; - let formattedJson = val.replace(regex, ''); - return JSON.parse(formattedJson); - }; - return ( -
{ - if (values.tags) { - values.tags = getJsonVal(values.tags); - } - onCreate(values); - onReset(); - }} - > - - - - - - - - - - - - -
- ); -}; -export default EventForm; diff --git a/studio/src/pages/events/components/EventForm.test.js b/studio/src/pages/events/components/EventForm.test.js deleted file mode 100644 index 6fab81546..000000000 --- a/studio/src/pages/events/components/EventForm.test.js +++ /dev/null @@ -1,182 +0,0 @@ -import React from 'react'; -import { Provider, useDispatch } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from '@testing-library/react'; -import { mount } from 'enzyme'; - -import '../../../matchMedia.mock'; -import EventForm from './EventForm'; - -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -let onCreate, store, mockedDispatch; - -const data = { - name: 'event', -}; - -describe('Event form component', () => { - store = mockStore({}); - store.dispatch = jest.fn(); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - store = mockStore({ - events: { - req: [], - details: {}, - loading: false, - }, - }); - describe('snapshot testing', () => { - beforeEach(() => { - onCreate = jest.fn(); - onCreate.mockImplementationOnce( - (values) => new Promise((resolve, reject) => resolve(values)), - ); - }); - it('should render the component', () => { - let tree; - act(() => { - tree = mount( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - it('should match component with empty data', () => { - const tree = mount( - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should match component with data', () => { - const tree = mount( - - - , - ); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - let wrapper, props; - store = mockStore({ - events: { - req: [], - details: {}, - loading: true, - }, - }); - beforeEach(() => { - jest.clearAllMocks(); - mockedDispatch = jest.fn(() => new Promise((resolve) => resolve(true))); - useDispatch.mockReturnValue(mockedDispatch); - props = { - onCreate: jest.fn(), - data: data, - }; - }); - it('should submit form with given data', (done) => { - act(() => { - wrapper = mount( - - - , - ); - }); - act(() => { - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - wrapper.update(); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith(props.data); - done(); - }, 0); - }); - it('should submit form with new name', (done) => { - const data2 = { ...data }; - data2.tags = JSON.stringify({ app: 'dega' }); - act(() => { - wrapper = mount( - - - , - ); - }); - act(() => { - const input = wrapper.find('input').at(0); - input.simulate('change', { target: { value: 'new name' } }); - - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - wrapper.update(); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith({ - name: 'new name', - tags: { - app: 'dega', - }, - }); - done(); - }, 0); - }); - it('should submit form with updated data', (done) => { - const data2 = { ...data }; - data2.tags = { - app: 'dega', - }; - data2.id = 1; - act(() => { - wrapper = mount( - - - , - ); - }); - act(() => { - wrapper - .find('input') - .at(0) - .simulate('change', { target: { value: 'new name' } }); - const submitButtom = wrapper.find('Button').at(0); - expect(submitButtom.text()).toBe('Submit'); - submitButtom.simulate('submit'); - wrapper.update(); - }); - - setTimeout(() => { - expect(props.onCreate).toHaveBeenCalledTimes(1); - expect(props.onCreate).toHaveBeenCalledWith({ - name: 'new name', - tags: { - app: 'dega', - }, - }); - done(); - }, 0); - }); - }); -}); diff --git a/studio/src/pages/events/components/EventList.js b/studio/src/pages/events/components/EventList.js deleted file mode 100644 index 47ef23045..000000000 --- a/studio/src/pages/events/components/EventList.js +++ /dev/null @@ -1,98 +0,0 @@ -import React from 'react'; -import { Popconfirm, Button, Table } from 'antd'; -import { useDispatch, useSelector } from 'react-redux'; -import { deleteEvent, getEvents } from '../../../actions/events'; -import { Link } from 'react-router-dom'; -import deepEqual from 'deep-equal'; -import { DeleteOutlined } from '@ant-design/icons'; - -function EventList() { - const dispatch = useDispatch(); - const [filters, setFilters] = React.useState({ - page: 1, - limit: 20, - }); - const { events, total, loading } = useSelector((state) => { - const node = state.events.req.find((item) => { - return deepEqual(item.query, filters); - }); - if (node) - return { - events: node.data.map((element) => state.events.details[element]), - total: node.total, - loading: state.events.loading, - }; - return { events: [], total: 0, loading: state.events.loading }; - }); - - React.useEffect(() => { - fetchEvents(); - }, [filters]); - - const fetchEvents = () => { - dispatch(getEvents(filters)); - }; - const getName = (eventLabel) => { - var labelArr = eventLabel.split('.'); - for (var i = 0; i < labelArr.length; i++) { - labelArr[i] = labelArr[i][0].toUpperCase() + labelArr[i].slice(1); - } - return labelArr.join(' '); - }; - const columns = [ - { - title: 'Name', - dataIndex: 'name', - key: 'name', - render: (_, record) => { - return ( - -

{getName(record.name)}

- - ); - }, - }, - { - title: 'Action', - dataIndex: 'operation', - fixed: 'right', - align: 'center', - width: 150, - render: (_, record) => { - return ( - dispatch(deleteEvent(record.id)).then(() => fetchEvents())} - > -
, - }, - } - } - loading={true} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event Deleted -

-
-
- -
- -

- Event Created -

-
-
- -
-
, - }, - }, - "loading": true, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - ], - "right": Array [ - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- - - -

- Event Deleted -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - -

- Event Created -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
- - - - - - - - - -`; - -exports[`Event List component snapshot testing should match component with event 1`] = ` - - - - - -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event Deleted -

-
-
- -
- -

- Event Created -

-
-
- -
- , - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event Deleted -

-
-
- -
- -

- Event Created -

-
-
- -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - ], - "right": Array [ - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- - - -

- Event Deleted -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - -

- Event Created -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
- - - - - -
-
-
-
-`; - -exports[`Event List component snapshot testing should render the component 1`] = ` - - - - - -
- -
-
-
- [Function] - - } - expandable={ - Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - } - } - internalHooks="rc-table-internal-hook" - internalRefs={ - Object { - "body": Object { - "current":
-
- - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event Deleted -

-
-
- -
- -

- Event Created -

-
-
- -
- , - }, - } - } - loading={false} - pagination={ - Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - } - } - prefixCls="ant-table" - rowClassName={[Function]} - rowKey={[Function]} - transformColumns={[Function]} - > -
- - [Function] - , - "expandable": Object { - "__PARENT_RENDER_ICON__": undefined, - "childrenColumnName": undefined, - "expandIcon": [Function], - "expandIconColumnIndex": undefined, - "indentSize": 15, - }, - "internalHooks": "rc-table-internal-hook", - "internalRefs": Object { - "body": Object { - "current":
- - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- -

- Event Deleted -

-
-
- -
- -

- Event Created -

-
-
- -
-
, - }, - }, - "loading": false, - "mergedExpandedKeys": Set {}, - "pagination": Object { - "current": 1, - "onChange": [Function], - "pageSize": 20, - "pageSizeOptions": Array [ - "10", - "15", - "20", - ], - "showTotal": [Function], - "total": 2, - }, - "prefixCls": "ant-table", - "rowClassName": [Function], - "rowKey": [Function], - "stickyOffsets": Object { - "left": Array [ - 0, - 0, - ], - "right": Array [ - 0, - 0, - ], - }, - "transformColumns": [Function], - } - } - > -
-
- - - - - - - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Name - - Action -
- - - -

- Event Deleted -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
- - - -

- Event Created -

-
-
- -
- } - okType="primary" - onConfirm={[Function]} - placement="top" - title="Are you sure you want to delete this?" - trigger="click" - > - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - disabled={false} - icon={} - motion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onVisibleChange={[Function]} - overlay={ - - [Function] - - } - overlayClassName="ant-popconfirm" - placement="top" - prefixCls="ant-popover" - title="Are you sure you want to delete this?" - transitionName="ant-zoom-big" - trigger="click" - visible={false} - > - - } - arrowPointAtCenter={false} - autoAdjustOverflow={true} - autoDestroy={false} - blurDelay={0.15} - builtinPlacements={ - Object { - "bottom": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tc", - "bc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "bottomRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - 4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "left": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cr", - "cl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftBottom": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "bl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "leftTop": Object { - "ignoreShake": true, - "offset": Array [ - -4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tr", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "right": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "cl", - "cr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightBottom": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "br", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "rightTop": Object { - "ignoreShake": true, - "offset": Array [ - 4, - 0, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "tl", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "top": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bc", - "tc", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topLeft": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "bl", - "tl", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - "topRight": Object { - "ignoreShake": true, - "offset": Array [ - 0, - -4, - ], - "overflow": Object { - "adjustX": 1, - "adjustY": 1, - }, - "points": Array [ - "br", - "tr", - ], - "targetOffset": Array [ - 0, - 0, - ], - }, - } - } - defaultPopupVisible={false} - destroyPopupOnHide={false} - disabled={false} - focusDelay={0} - getDocument={[Function]} - getPopupClassNameFromAlign={[Function]} - hideAction={Array []} - icon={} - mask={false} - maskClosable={true} - mouseEnterDelay={0.1} - mouseLeaveDelay={0.1} - okType="primary" - onConfirm={[Function]} - onPopupAlign={[Function]} - onPopupVisibleChange={[Function]} - overlay={ - - [Function] - - } - popup={[Function]} - popupAlign={Object {}} - popupClassName="ant-popconfirm" - popupMotion={ - Object { - "motionDeadline": 1000, - "motionName": "ant-zoom-big", - } - } - popupPlacement="top" - popupStyle={Object {}} - popupTransitionName="ant-zoom-big" - popupVisible={false} - prefixCls="ant-popover" - showAction={Array []} - title="Are you sure you want to delete this?" - visible={false} - > - - - - - - - -
-
-
-
-
- - - - -
- - - ••• - -
- - } - jumpPrevIcon={ - -
- - - ••• - -
-
- } - locale={ - Object { - "items_per_page": "/ page", - "jump_to": "Go to", - "jump_to_confirm": "confirm", - "next_3": "Next 3 Pages", - "next_5": "Next 5 Pages", - "next_page": "Next Page", - "page": "", - "prev_3": "Previous 3 Pages", - "prev_5": "Previous 5 Pages", - "prev_page": "Previous Page", - } - } - nextIcon={ - - } - onChange={[Function]} - onShowSizeChange={[Function]} - pageSize={20} - pageSizeOptions={ - Array [ - "10", - "15", - "20", - ] - } - prefixCls="ant-pagination" - prevIcon={ - - } - selectComponentClass={ - Object { - "$$typeof": Symbol(react.forward_ref), - "OptGroup": [Function], - "Option": [Function], - "SECRET_COMBOBOX_MODE_DO_NOT_USE": "SECRET_COMBOBOX_MODE_DO_NOT_USE", - "render": [Function], - } - } - selectPrefixCls="ant-select" - showLessItems={false} - showPrevNextJumpers={true} - showQuickJumper={false} - showTitle={true} - showTotal={[Function]} - style={Object {}} - total={2} - totalBoundaryShowSizeChanger={50} - > -
    -
  • - 1-2 of 2 results -
  • -
  • - -
  • - -
  • - - 1 - -
  • -
    -
  • - -
  • - -
-
-
-
- - - - - -
-
-
-
-`; diff --git a/studio/src/pages/events/index.js b/studio/src/pages/events/index.js deleted file mode 100644 index a9386c4ac..000000000 --- a/studio/src/pages/events/index.js +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -import EventList from './components/EventList'; -import { Space, Button, Row } from 'antd'; -import { Link } from 'react-router-dom'; -import { Helmet } from 'react-helmet'; - -function Events() { - return ( - - - - - - - - - - ); -} - -export default Events; diff --git a/studio/src/pages/events/index.test.js b/studio/src/pages/events/index.test.js deleted file mode 100644 index b374d3c59..000000000 --- a/studio/src/pages/events/index.test.js +++ /dev/null @@ -1,105 +0,0 @@ -import React from 'react'; -import { BrowserRouter as Router } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; - -import '../../matchMedia.mock'; -import Events from './index'; -import { mount } from 'enzyme'; -import { getEvents } from '../../actions/events'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), -})); - -jest.mock('../../actions/events', () => ({ - getEvents: jest.fn(), - addEvent: jest.fn(), -})); -let state = { - events: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, -}; -describe('Event component', () => { - let store; - let mockedDispatch; - beforeEach(() => { - store = mockStore(state); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - }); - describe('snapshot testing', () => { - it('should render the component', () => { - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should render the component with data', () => { - const store2 = mockStore({ - events: { - req: [ - { - data: [1], - query: { - page: 1, - limit: 20, - }, - total: 1, - }, - ], - details: { - 1: { - id: 1, - name: 'event', - }, - }, - loading: false, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - }); - const tree = mount( - - - - - , - ); - expect(tree).toMatchSnapshot(); - expect(getEvents).toHaveBeenCalledWith({ page: 1, limit: 20 }); - }); - }); -}); diff --git a/studio/src/pages/fact-checks/CreateFactCheck.js b/studio/src/pages/fact-checks/CreateFactCheck.js deleted file mode 100644 index e872f2220..000000000 --- a/studio/src/pages/fact-checks/CreateFactCheck.js +++ /dev/null @@ -1,34 +0,0 @@ -import React from 'react'; -import FactCheckForm from './components/FactCheckForm'; -import { useDispatch, useSelector } from 'react-redux'; -import { addPost } from '../../actions/posts'; -import getUserPermission from '../../utils/getUserPermission'; -import FormatNotFound from '../../components/ErrorsAndImage/RecordNotFound'; - -import { Helmet } from 'react-helmet'; -import useNavigation from '../../utils/useNavigation'; - -function CreateFactCheck({ formats }) { - const spaces = useSelector(({ spaces }) => spaces); - const actions = getUserPermission({ resource: 'fact-checks', action: 'get', spaces }); - const history = useNavigation(); - const dispatch = useDispatch(); - const onCreate = (values) => { - dispatch(addPost(values)).then((post) => { - if (post && post.id) history(`/fact-checks/${post.id}/edit`); - }); - }; - - if (!formats.loading && formats.factcheck) { - return ( - <> - - - - ); - } - - return ; -} - -export default CreateFactCheck; diff --git a/studio/src/pages/fact-checks/CreateFactCheck.test.js b/studio/src/pages/fact-checks/CreateFactCheck.test.js deleted file mode 100644 index 9bf3f1e5f..000000000 --- a/studio/src/pages/fact-checks/CreateFactCheck.test.js +++ /dev/null @@ -1,170 +0,0 @@ -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { BrowserRouter as Router } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from 'react-dom/test-utils'; -import { mount, shallow } from 'enzyme'; - -import '../../matchMedia.mock'; -import CreateFactCheck from './CreateFactCheck'; -import * as actions from '../../actions/posts'; -import FactCheckForm from './components/FactCheckForm'; -import FormatNotFound from '../../components/ErrorsAndImage/RecordNotFound'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('@editorjs/editorjs'); -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), -})); - -jest.mock('../../actions/posts', () => ({ - getPosts: jest.fn(), - addPost: jest.fn(), - publish: jest.fn(), -})); -const formats = { - article: { id: 1, name: 'article', slug: 'article' }, - factcheck: { id: 2, name: 'factcheck', slug: 'fact-check' }, - loading: false, -}; - -describe('Fact check create component', () => { - let store; - let mockedDispatch; - - store = mockStore({ - posts: { - req: [], - details: {}, - loading: true, - }, - authors: { - req: [], - details: {}, - loading: true, - }, - tags: { - req: [], - details: {}, - loading: true, - }, - categories: { - req: [], - details: {}, - loading: true, - }, - formats: { - req: [], - details: {}, - loading: true, - }, - - claims: { - req: [], - details: {}, - loading: true, - }, - claimants: { - req: [], - details: {}, - loading: true, - }, - ratings: { - req: [], - details: {}, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - sidebar: { - collapsed: false, - }, - }); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(() => Promise.resolve({})); - useDispatch.mockReturnValue(mockedDispatch); - describe('snapshot testing', () => { - it('should render the component', () => { - let tree; - act(() => { - tree = shallow( - - - , - ); - }); - expect(tree).toMatchSnapshot(); - tree.unmount(); - }); - }); - describe('component testing', () => { - let wrapper; - afterEach(() => { - wrapper.unmount(); - }); - it('should call addPost', (done) => { - actions.addPost.mockReset(); - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - act(() => { - wrapper = mount( - - - - - , - ); - }); - wrapper.find(FactCheckForm).props().onCreate({ title: 'test', status: 'draft' }); - setTimeout(() => { - expect(actions.addPost).toHaveBeenCalledWith({ title: 'test', status: 'draft' }); - done(); - }, 0); - }); - it('should not display FactCheck form if fact-check format not found', () => { - const format = { - loading: false, - article: { id: 1, name: 'Article', slug: 'article' }, - }; - actions.publish.mockReset(); - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(wrapper.find(FactCheckForm).length).toBe(0); - expect(wrapper.find(FormatNotFound).length).toBe(1); - }); - }); -}); diff --git a/studio-shadcn/src/pages/fact-checks/CreateFactCheck.tsx b/studio/src/pages/fact-checks/CreateFactCheck.tsx similarity index 100% rename from studio-shadcn/src/pages/fact-checks/CreateFactCheck.tsx rename to studio/src/pages/fact-checks/CreateFactCheck.tsx diff --git a/studio/src/pages/fact-checks/EditFactCheck.js b/studio/src/pages/fact-checks/EditFactCheck.js deleted file mode 100644 index ff7f062ab..000000000 --- a/studio/src/pages/fact-checks/EditFactCheck.js +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -import EditFactCheckForm from './components/FactCheckForm'; -import { useDispatch, useSelector } from 'react-redux'; -import { Skeleton } from 'antd'; -import { updatePost, getPost } from '../../actions/posts'; - -import { useParams } from 'react-router-dom'; -import RecordNotFound from '../../components/ErrorsAndImage/RecordNotFound'; -import getUserPermission from '../../utils/getUserPermission'; -import { Helmet } from 'react-helmet'; -import useNavigation from '../../utils/useNavigation'; - -function EditFactCheck({ formats }) { - const history = useNavigation(); - const { id } = useParams(); - const spaces = useSelector(({ spaces }) => spaces); - const actions = getUserPermission({ resource: 'fact-checks', action: 'get', spaces }); - const dispatch = useDispatch(); - - const { post, loading } = useSelector((state) => { - return { - post: state.posts.details[id] ? state.posts.details[id] : null, - loading: state.posts.loading, - }; - }); - React.useEffect(() => { - dispatch(getPost(id)); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [id]); - if (loading) return ; - - if (!post) { - return ; - } - if (post && post.id && !formats.loading && post.format !== formats.factcheck.id) - return ; - - const onUpdate = (values) => { - dispatch(updatePost({ ...post, ...values })).then(() => { - history(`/fact-checks/${id}/edit`); - }); - }; - return ( - <> - - - - ); -} - -export default EditFactCheck; diff --git a/studio/src/pages/fact-checks/EditFactCheck.test.js b/studio/src/pages/fact-checks/EditFactCheck.test.js deleted file mode 100644 index e43319033..000000000 --- a/studio/src/pages/fact-checks/EditFactCheck.test.js +++ /dev/null @@ -1,285 +0,0 @@ -import React from 'react'; -import { useHistory } from 'react-router-dom'; -import { BrowserRouter as Router } from 'react-router-dom'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { act } from 'react-dom/test-utils'; -import { shallow, mount } from 'enzyme'; - -import '../../matchMedia.mock'; -import EditFactCheck from './EditFactCheck'; -import * as actions from '../../actions/posts'; -import FactCheckEditForm from './components/FactCheckForm'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); - -jest.mock('@editorjs/editorjs'); -jest.mock('react-monaco-editor', () => { - const MonacoEditor = () =>
; - return MonacoEditor; -}); -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); - -jest.mock('react-router-dom', () => ({ - ...jest.requireActual('react-router-dom'), - useHistory: jest.fn(), - useParams: jest.fn().mockReturnValue({ id: '1' }), -})); - -jest.mock('../../actions/posts', () => ({ - getPosts: jest.fn(), - getPost: jest.fn(), - updatePost: jest.fn(), - addPost: jest.fn(), - publishPost: jest.fn(), - addTemplate: jest.fn(), -})); -const formats = { - article: { id: 1, name: 'article', slug: 'article' }, - factcheck: { id: 2, name: 'factcheck', slug: 'fact-check' }, - loading: false, -}; -let state = { - posts: { - req: [], - details: {}, - loading: false, - }, - authors: { - req: [], - details: {}, - loading: true, - }, - tags: { - req: [], - details: {}, - loading: true, - }, - categories: { - req: [], - details: {}, - loading: true, - }, - formats: { - req: [], - details: {}, - loading: true, - }, - - claims: { - req: [], - details: {}, - loading: true, - }, - claimants: { - req: [], - details: {}, - loading: true, - }, - ratings: { - req: [], - details: {}, - loading: true, - }, - media: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - sidebar: { - collapsed: false, - }, -}; - -describe('FactCheck edit component', () => { - let store; - let mockedDispatch; - store = mockStore(state); - store.dispatch = jest.fn(() => ({})); - mockedDispatch = jest.fn(() => Promise.resolve({})); - useDispatch.mockReturnValue(mockedDispatch); - - describe('snapshot testing', () => { - it('should render the component', () => { - let tree; - act(() => { - tree = mount( - - - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - it('should match skeleton while loading', () => { - let tree; - store = mockStore({ - posts: { - req: [], - details: {}, - loading: true, - }, - spaces: { - orgs: [{ id: 1, organazation: 'Organization 1', spaces: [11] }], - details: { - 11: { id: 11, name: 'Space 11' }, - }, - loading: false, - selected: 11, - }, - sidebar: { - collapsed: false, - }, - }); - act(() => { - tree = mount( - - - - - , - ); - }); - expect(tree).toMatchSnapshot(); - }); - }); - describe('component testing', () => { - let wrapper; - state.posts = { - req: [], - details: { - 1: { - id: 1, - title: 'FactCheck-1', - slug: 'factcheck-1', - tag_line: 'tag_line', - medium_id: 1, - format_id: 2, - format: 2, - }, - }, - loading: false, - }; - beforeEach(() => { - store = mockStore(state); - }); - afterEach(() => { - wrapper.unmount(); - }); - it('should call get action', () => { - actions.getPost.mockReset(); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(actions.getPost).toHaveBeenCalledWith('1'); - }); - it('should call updatePost', (done) => { - const push = jest.fn(); - useHistory.mockReturnValueOnce({ push }); - actions.updatePost.mockReset(); - act(() => { - wrapper = mount( - - - - - , - ); - }); - - wrapper.find(FactCheckEditForm).props().onCreate({ status: 'draft' }); - setTimeout(() => { - expect(actions.updatePost).toHaveBeenCalledWith({ - id: 1, - title: 'FactCheck-1', - slug: 'factcheck-1', - tag_line: 'tag_line', - medium_id: 1, - format_id: 2, - format: 2, - status: 'draft', - published_date: null, - }); - expect(push).toHaveBeenCalledWith('/fact-checks/1/edit'); - done(); - }, 0); - }); - it('should display RecordNotFound if post not found', () => { - state.posts = { - req: [], - details: { - 2: { - id: 2, - title: 'Factcheck-2', - slug: 'factcheck-2', - tag_line: 'tag_line', - medium_id: 1, - format_id: 2, - }, - }, - loading: false, - }; - store = mockStore(state); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(wrapper.find('RecordNotFound').length).toBe(1); - expect(wrapper.find(FactCheckEditForm).length).toBe(0); - }); - it('should display RecordNotFound if post format is not fact-check', () => { - state.posts = { - req: [], - details: { - 1: { - id: 1, - title: 'Factcheck-2', - slug: 'factcheck-2', - tag_line: 'tag_line', - medium_id: 1, - format_id: 1, - }, - }, - loading: false, - }; - store = mockStore(state); - act(() => { - wrapper = mount( - - - - - , - ); - }); - expect(wrapper.find('RecordNotFound').length).toBe(1); - expect(wrapper.find(FactCheckEditForm).length).toBe(0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/fact-checks/EditFactCheck.tsx b/studio/src/pages/fact-checks/EditFactCheck.tsx similarity index 100% rename from studio-shadcn/src/pages/fact-checks/EditFactCheck.tsx rename to studio/src/pages/fact-checks/EditFactCheck.tsx diff --git a/studio/src/pages/fact-checks/Factly.js b/studio/src/pages/fact-checks/Factly.js deleted file mode 100644 index 531278e20..000000000 --- a/studio/src/pages/fact-checks/Factly.js +++ /dev/null @@ -1,331 +0,0 @@ -import React from 'react'; -import { Typography, Space, Input, Form, Select, Button, Skeleton, Row, Col } from 'antd'; -import { SearchOutlined } from '@ant-design/icons'; -import { useState, useEffect } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import { getSachFactChecks, getSachFilters } from '../../actions/sachFactChecks'; -import FactCheck from './components/sach-fact-check'; -import { getResultStringFromStats } from '../../utils/getStats'; - -function Factly() { - const [form] = Form.useForm(); - const dispatch = useDispatch(); - const [language, setLanguage] = useState([]); - const [publisher, setPublisher] = useState([]); - const [country, setCountry] = useState([]); - const [dateOrder, setDateOrder] = useState(''); - const [publisherList, setPublishersList] = useState([]); - const [publisherCountries, setPublisherCountries] = useState([]); - const [languages, setLanguages] = useState([]); - const [query, setQuery] = useState(''); - const [pageNum, setPageNum] = useState(1); - const [totalMatches, setTotalMatches] = useState(0); - const [resultStats, setResultStats] = useState({}); - const [isResultTextVisible, setIsResultTextVisible] = useState(false); - const [isMobileScreen, setIsMobileScreen] = React.useState(false); - - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth < 768) { - setIsMobileScreen(true); - } else { - setIsMobileScreen(false); - } - }; - window.addEventListener('resize', handleResize); - handleResize(); - return () => window.removeEventListener('resize', handleResize); - }, []); - let languageNames = new Intl.DisplayNames(['en'], { type: 'language' }); - - const pageLimit = 20; - const fetchFilters = () => { - dispatch(getSachFilters(setLanguages, setPublishersList, setPublisherCountries)); - }; - - const fetchFactChecks = () => { - dispatch( - getSachFactChecks( - { - q: query, - selectedLanguage: language, - selectedPublisher: publisher, - selectedCountry: country, - limit: pageLimit, - sortByDate: dateOrder, - offset: (pageNum - 1) * pageLimit, - }, - setTotalMatches, - setResultStats, - ), - ); - }; - - useEffect(() => { - fetchFilters(); - }, []); - - useEffect(() => { - fetchFactChecks(); - setIsResultTextVisible(true); - }, [language, publisher, country, dateOrder, query, pageNum]); - - useEffect(() => { - setPageNum(1); - setIsResultTextVisible(false); - }, [query]); - - useEffect(() => { - if (query === '' || query === undefined) { - setDateOrder('desc'); - } else { - setDateOrder(''); - } - }, [query]); - - useEffect(() => { - setDateOrder((prevDateOrder) => prevDateOrder); - }, [dateOrder]); - - const handleFinish = (formData) => { - setQuery(formData.query); - }; - - const handleDateChange = (date) => { - setDateOrder(date); - }; - - const handleCountryChange = (country) => { - setCountry(country); - }; - - const handlePublisherChange = (publisher) => { - setPublisher(publisher); - }; - - const handleLanguageChange = (language) => { - setLanguage(language); - }; - - const handleNext = () => { - setPageNum((previousPageNum) => previousPageNum + 1); - window.scrollTo({ top: 0, left: 0 }); - }; - - const handlePrevious = () => { - if (pageNum > 1) { - setPageNum((previousPageNum) => previousPageNum - 1); - window.scrollTo({ top: 0, left: 0 }); - } - }; - - const { factChecks, loading } = useSelector(({ sachFactChecks }) => { - return { - factChecks: sachFactChecks.details, - loading: sachFactChecks.loading, - }; - }); - - return ( - - - -
- - - - - } - placeholder={ - 'Search for Fact-Checks about a person or topic or a specific claim' - } - allowClear - /> - - - - - - -
- - -
- Sort by: - -
- -
- - - Languages: - - - - Countries: - - - - Publishers: - - - - {loading ? ( - - ) : ( -
- {isResultTextVisible && factChecks?.length ? ( -

- {getResultStringFromStats(resultStats, totalMatches)} -

- ) : null} - {factChecks?.length - ? factChecks.map((factCheck, index) => ( - - )) - : null} - {totalMatches > pageLimit ? ( -
- {pageNum > 1 ? ( - - ) : null} - {pageNum * pageLimit < totalMatches ? ( - - ) : null} -
- ) : null} -
- )} -
- ); -} - -export default Factly; diff --git a/studio-shadcn/src/pages/fact-checks/Factly.tsx b/studio/src/pages/fact-checks/Factly.tsx similarity index 100% rename from studio-shadcn/src/pages/fact-checks/Factly.tsx rename to studio/src/pages/fact-checks/Factly.tsx diff --git a/studio/src/pages/fact-checks/GoogleFactCheck.js b/studio/src/pages/fact-checks/GoogleFactCheck.js deleted file mode 100644 index 9f51ec0fc..000000000 --- a/studio/src/pages/fact-checks/GoogleFactCheck.js +++ /dev/null @@ -1,180 +0,0 @@ -import React from 'react'; -import { useDispatch, useSelector } from 'react-redux'; -import { SearchOutlined } from '@ant-design/icons'; -import { getGoogleFactChecks } from '../../actions/googleFactChecks'; -import { Form, Input, Select, Button, List, Typography, Space } from 'antd'; -import deepEqual from 'deep-equal'; -import { languageCode } from '../fact-checks/LanguageCode'; - -function GoogleFactCheck() { - const dispatch = useDispatch(); - const { Option } = Select; - const [form] = Form.useForm(); - const langCode = languageCode(); - const [filters, setQuery] = React.useState({ - page: 1, - query: 'factcheck', - }); - const [currPageToken, setCurrPageToken] = React.useState(''); - const [paginationStack, setPaginationStack] = React.useState([]); - const [indexPointer, setIndexPointer] = React.useState(null); - const [isMobileScreen, setIsMobileScreen] = React.useState(false); - - React.useEffect(() => { - const handleResize = () => { - if (window.innerWidth < 768) { - setIsMobileScreen(true); - } else { - setIsMobileScreen(false); - } - }; - window.addEventListener('resize', handleResize); - handleResize(); - return () => window.removeEventListener('resize', handleResize); - }, []); - - const { factChecks, loading, nextPage } = useSelector(({ googleFactChecks }) => { - const node = googleFactChecks.req.find((item) => { - return deepEqual(item.query, filters); - }); - - if (node) { - return { - factChecks: node.data, - total: node.total, - loading: googleFactChecks.loading, - nextPage: node.nextPage, - }; - } - return { factChecks: [], total: 0, loading: googleFactChecks.loading, nextPage: '' }; - }); - - const fetchFactChecks = (values) => { - dispatch(getGoogleFactChecks(values)); - }; - - const onSubmit = (values) => { - if (values.language === 'all') { - delete values.language; - } - setCurrPageToken(''); - setIndexPointer(null); - setPaginationStack([]); - setQuery({ ...{ page: 1 }, ...values }); - }; - - React.useEffect(() => { - if (filters.query) fetchFactChecks(filters); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [filters]); - - React.useEffect(() => { - if (!paginationStack.includes(currPageToken)) - setPaginationStack((paginationStack) => [...paginationStack, currPageToken]); - }, [paginationStack, currPageToken]); - - const onLoadMore = () => { - indexPointer + 1 === paginationStack.length - ? setIndexPointer(paginationStack.length) - : setIndexPointer(indexPointer + 1); - setCurrPageToken(nextPage); - setQuery({ ...filters, pageToken: nextPage }); - }; - const loadPrevious = () => { - const prev = paginationStack[indexPointer - 1]; - setIndexPointer(indexPointer - 1); - setQuery({ ...filters, pageToken: prev }); - }; - - const loadMore = !loading ? ( -
- - - - -
- ) : null; - - return ( - -
{ - onSubmit(values); - }} - style={{ maxWidth: '100%' }} - > - - - } - placeholder="Search fact checks" - /> - - - - - - - -
- ( - - {`Claim by ${item.claimant}:`} - {item.text} - {item.claimReview.map((each) => ( - <> - - {each.publisher.name} rating : {each.textualRating} - - - {each.title} - - - ))} - - )} - /> -
- ); -} - -export default GoogleFactCheck; diff --git a/studio/src/pages/fact-checks/GoogleFactCheck.test.js b/studio/src/pages/fact-checks/GoogleFactCheck.test.js deleted file mode 100644 index 3477fdec7..000000000 --- a/studio/src/pages/fact-checks/GoogleFactCheck.test.js +++ /dev/null @@ -1,223 +0,0 @@ -import React from 'react'; -import { useDispatch, Provider } from 'react-redux'; -import configureMockStore from 'redux-mock-store'; -import thunk from 'redux-thunk'; -import { mount } from 'enzyme'; -import { act } from 'react-dom/test-utils'; -import { List } from 'antd'; - -import '../../matchMedia.mock'; -import GoogleFactCheck from './GoogleFactCheck'; -import { getGoogleFactChecks } from '../../actions/googleFactChecks'; - -const middlewares = [thunk]; -const mockStore = configureMockStore(middlewares); -let mockedDispatch, store; - -let state = { - googleFactChecks: { - req: [ - { - data: [ - { - text: 'Video shows Russian doctors celebrating the new COVID-19 vaccine.', - claimant: 'Facebook posts', - claimDate: '2020-09-08T02:48:10Z', - claimReview: [ - { - publisher: { - name: 'BOOM', - site: 'boomlive.in', - }, - url: - 'https://www.boomlive.in/world/video-from-saudi-arabia-shared-as-russian-doctors-celebrating-covid-19-vaccine-9654', - title: - 'Video From Saudi Arabia Shared As Russian Doctors Celebrating COVID-19 Vaccine', - reviewDate: '2020-09-08T02:48:10Z', - textualRating: 'False', - languageCode: 'en', - }, - ], - }, - { - text: - 'Pelosi travels weekly to California on a 200-seat Boeing that costs millions annually in fuel', - claimant: 'social media users', - claimDate: '2021-02-21T00:00:00Z', - claimReview: [ - { - publisher: { - name: 'BOOM', - site: 'boomlive.in', - }, - url: - 'https://www.usatoday.com/story/news/factcheck/2021/02/28/fact-check-false-claim-pelosi-travels-weekly-200-seat-plane/6860043002/', - title: 'Fact check: False claim that Pelosi travels weekly on 200-seat ...', - reviewDate: '2021-02-28T21:23:54Z', - textualRating: 'False', - languageCode: 'en', - }, - ], - }, - ], - query: { - page: 1, - query: 'factcheck', - }, - total: 2, - nextPage: 'nextpage', - }, - ], - loading: false, - }, -}; -jest.mock('react-redux', () => ({ - ...jest.requireActual('react-redux'), - useDispatch: jest.fn(), -})); -jest.mock('../../actions/googleFactChecks', () => ({ - getGoogleFactChecks: jest.fn(), -})); -describe('GoogleFactCheck component', () => { - describe('snapshot testing', () => { - beforeEach(() => { - store = mockStore({}); - store.dispatch = jest.fn(); - mockedDispatch = jest.fn(); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should render the component', () => { - store = mockStore(state); - const tree = mount( - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should match when component loading', () => { - state.googleFactChecks.loading = true; - store = mockStore(state); - const tree = mount( - - - , - ); - expect(tree).toMatchSnapshot(); - }); - it('should match when data', () => { - state.googleFactChecks.loading = false; - store = mockStore(state); - const tree = mount( - - - , - ); - expect(tree).toMatchSnapshot(); - expect(getGoogleFactChecks).toHaveBeenCalledWith({ page: 1, query: 'factcheck' }); - }); - }); - describe('component testing', () => { - beforeEach(() => { - jest.clearAllMocks(); - mockedDispatch = jest.fn(() => new Promise((resolve) => resolve(true))); - useDispatch.mockReturnValue(mockedDispatch); - }); - it('should handle loadmore', () => { - store = mockStore(state); - let wrapper; - act(() => { - wrapper = mount( - - - , - ); - }); - const nextButton = wrapper.find('Button').at(2); - expect(nextButton.text()).toBe('Next'); - nextButton.simulate('click'); - expect(getGoogleFactChecks).toHaveBeenCalledWith({ page: 1, query: 'factcheck' }); - }); - it('should handle loadPrevious ', () => { - store = mockStore(state); - let wrapper; - act(() => { - wrapper = mount( - - - , - ); - }); - const nextButton = wrapper.find('Button').at(2); - expect(nextButton.text()).toBe('Next'); - nextButton.simulate('click'); - const previousButton = wrapper.find('Button').at(1); - expect(previousButton.text()).toBe('Back'); - previousButton.simulate('click'); - expect(getGoogleFactChecks).toHaveBeenCalledWith({ page: 1, query: 'factcheck' }); - }); - it('should submit filters', () => { - store = mockStore(state); - let wrapper; - act(() => { - wrapper = mount( - - - , - ); - wrapper - .find('input') - .at(0) - .simulate('change', { target: { value: 'Russian doctors' } }); - wrapper - .find('FormItem') - .at(1) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 'en' } }); - - const submitButtom = wrapper.find('Button').at(0); - submitButtom.simulate('submit'); - }); - setTimeout(() => { - expect(getGoogleFactChecks).toHaveBeenCalledWith({ - page: 1, - q: 'Russian doctors', - }); - }, 0); - }); - it('should submit with language as all', () => { - store = mockStore(state); - let wrapper; - act(() => { - wrapper = mount( - - - , - ); - wrapper - .find('input') - .at(0) - .simulate('change', { target: { value: 'Russian doctors' } }); - wrapper - .find('FormItem') - .at(1) - .find('Select') - .at(0) - .props() - .onChange({ target: { value: 'all' } }); - - const submitButtom = wrapper.find('Button').at(0); - submitButtom.simulate('submit'); - }); - setTimeout(() => { - expect(getGoogleFactChecks).toHaveBeenCalledWith({ - page: 1, - q: 'Russian doctors', - language: 'all', - }); - }, 0); - }); - }); -}); diff --git a/studio-shadcn/src/pages/fact-checks/GoogleFactCheck.tsx b/studio/src/pages/fact-checks/GoogleFactCheck.tsx similarity index 99% rename from studio-shadcn/src/pages/fact-checks/GoogleFactCheck.tsx rename to studio/src/pages/fact-checks/GoogleFactCheck.tsx index 012b00180..87f6c16ea 100644 --- a/studio-shadcn/src/pages/fact-checks/GoogleFactCheck.tsx +++ b/studio/src/pages/fact-checks/GoogleFactCheck.tsx @@ -3,7 +3,7 @@ import { useSelector } from "react-redux"; import { Search } from "lucide-react"; import { getGoogleFactChecks, Query } from "../../actions/googleFactChecks"; import deepEqual from "deep-equal"; -import { languageCode } from "../fact-checks/LanguageCode"; +import { languageCode } from "./LanguageCode"; import { useAppDispatch } from "@/hooks/reduxHooks"; import { Form, FormField, FormItem, FormControl } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; diff --git a/studio/src/pages/fact-checks/LanguageCode.js b/studio/src/pages/fact-checks/LanguageCode.js deleted file mode 100644 index ffa5ce70b..000000000 --- a/studio/src/pages/fact-checks/LanguageCode.js +++ /dev/null @@ -1,62 +0,0 @@ -export function languageCode() { - const lang = [ - { language: 'All', code: 'all' }, - { language: 'Amharic', code: 'am' }, - { language: 'Arabic', code: 'ar' }, - { language: 'Basque', code: 'eu' }, - { language: 'Bengali', code: 'bn' }, - { language: 'English (UK)', code: 'en-GB' }, - { language: 'Portuguese (Brazil)', code: 'pt-BR' }, - { language: 'Bulgarian', code: 'bg' }, - { language: 'Catalan', code: 'ca' }, - { language: 'Cherokee', code: 'chr' }, - { language: 'Croatian', code: 'hr' }, - { language: 'Czech', code: 'cs' }, - { language: 'Danish', code: 'da' }, - { language: 'Dutch', code: 'nl' }, - { language: 'English (US)', code: 'en' }, - { language: 'Estonian', code: 'et' }, - { language: 'Filipino', code: 'fil' }, - { language: 'Finnish', code: 'fi' }, - { language: 'French', code: 'fr' }, - { language: 'German', code: 'de' }, - { language: 'Greek', code: 'el' }, - { language: 'Gujarati', code: 'gu' }, - { language: 'Hebrew', code: 'iw' }, - { language: 'Hindi', code: 'hi' }, - { language: 'Hungarian', code: 'hu' }, - { language: 'Icelandic', code: 'is' }, - { language: 'Indonesian', code: 'id' }, - { language: 'Italian', code: 'it' }, - { language: 'Japanese', code: 'ja' }, - { language: 'Kannada', code: 'kn' }, - { language: 'Korean', code: 'ko' }, - { language: 'Latvian', code: 'lv' }, - { language: 'Lithuanian', code: 'lt' }, - { language: 'Malay', code: 'ms' }, - { language: 'Malayalam', code: 'ml' }, - { language: 'Marathi', code: 'mr' }, - { language: 'Norwegian', code: 'no' }, - { language: 'Polish', code: 'pl' }, - { language: 'Portuguese (Portugal)', code: 'pt-PT' }, - { language: 'Romanian', code: 'ro' }, - { language: 'Russian', code: 'ru' }, - { language: 'Serbian', code: 'sr' }, - { language: 'Chinese (PRC)', code: 'zh-CN' }, - { language: 'Slovak', code: 'sk' }, - { language: 'Slovenian', code: 'sl' }, - { language: 'Spanish', code: 'es' }, - { language: 'Swahili', code: 'sw' }, - { language: 'Swedish', code: 'sv' }, - { language: 'Tamil', code: 'ta' }, - { language: 'Telugu', code: 'te' }, - { language: 'Thai', code: 'th' }, - { language: 'Chinese (Taiwan)', code: 'zh-TW' }, - { language: 'Turkish', code: 'tr' }, - { language: 'Urdu', code: 'ur' }, - { language: 'Ukrainian', code: 'uk' }, - { language: 'Vietnamese', code: 'vi' }, - { language: 'Welsh', code: 'cy' }, - ]; - return lang; -} diff --git a/studio-shadcn/src/pages/fact-checks/LanguageCode.ts b/studio/src/pages/fact-checks/LanguageCode.ts similarity index 100% rename from studio-shadcn/src/pages/fact-checks/LanguageCode.ts rename to studio/src/pages/fact-checks/LanguageCode.ts diff --git a/studio/src/pages/fact-checks/__snapshots__/CreateFactCheck.test.js.snap b/studio/src/pages/fact-checks/__snapshots__/CreateFactCheck.test.js.snap deleted file mode 100644 index e81cc43bd..000000000 --- a/studio/src/pages/fact-checks/__snapshots__/CreateFactCheck.test.js.snap +++ /dev/null @@ -1,53 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Fact check create component snapshot testing should render the component 1`] = ` - - - -`; diff --git a/studio/src/pages/fact-checks/__snapshots__/EditFactCheck.test.js.snap b/studio/src/pages/fact-checks/__snapshots__/EditFactCheck.test.js.snap deleted file mode 100644 index 5d5247eff..000000000 --- a/studio/src/pages/fact-checks/__snapshots__/EditFactCheck.test.js.snap +++ /dev/null @@ -1,10645 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`FactCheck edit component snapshot testing should match skeleton while loading 1`] = ` - - - - - -
-
- - <h3 - className="ant-skeleton-title" - style={ - Object { - "width": "38%", - } - } - /> - - -
    -
  • -
  • -
  • -
-
-
-
-
-
-
-
-
-`; - -exports[`FactCheck edit component snapshot testing should render the component 1`] = ` - - - - - - - - - - - - - - -
- -
- -
-
- -
- -
- - - - -
- - - -
-
-
- - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
-
- -
- - - - -
- - - -
-
-
- - - - Ready to Publish - - - - } - > - - - - - - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
-
- - -
- - - - -
- - - -
-
-
- - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
-
-
-
-
-
-
- -
- -
- -
- - - - -
- - - -
-
-
- - - - } - handleReset={[Function]} - id="title" - inputType="text" - placeholder="Add title for the fact-check" - prefixCls="ant-input" - value="FactCheck-1" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - - -
- - - -
-
-
- - -
- - -
-
- - - - - -
- - -
- - - - - - - Post Settings - - } - visible={false} - width={366} - > - - Post Settings - - } - visible={false} - width={366} - > - -
- -
-
-
-
-
-
-
-

- Post Settings -

-
- -
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - Cancel - , - - Ok - , - ] - } - okType="primary" - onCancel={[Function]} - visible={false} - width="800px" - > - - - - } - confirmLoading={false} - focusTriggerAfterClose={true} - footer={ - Array [ - - Cancel - , - - Ok - , - ] - } - maskTransitionName="ant-fade" - okType="primary" - onCancel={[Function]} - onClose={[Function]} - prefixCls="ant-modal" - transitionName="ant-zoom" - visible={false} - width="800px" - wrapClassName="" - > - - - - -
- -
-
-
- - - -
-
-
-
-
-
-
-
-
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select claims - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claims" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select claims - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select claims" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select claims - - -
- - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - -
- - - - - -
-
- - - - - -
- - -
- - - - - - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - handleReset={[Function]} - id="excerpt" - inputType="text" - placeholder="Excerpt" - prefixCls="ant-input" - rows={4} - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="subtitle" - inputType="input" - onChange={[Function]} - placeholder="Subtitle" - prefixCls="ant-input" - style={ - Object { - "fontSize": "medium", - } - } - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="slug" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="factcheck-1" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - components={ - Object { - "button": [Function], - "rangeItem": [Function], - } - } - generateConfig={ - Object { - "addDate": [Function], - "addMonth": [Function], - "addYear": [Function], - "getDate": [Function], - "getEndDate": [Function], - "getFixedDate": [Function], - "getHour": [Function], - "getMinute": [Function], - "getMonth": [Function], - "getNow": [Function], - "getSecond": [Function], - "getWeekDay": [Function], - "getYear": [Function], - "isAfter": [Function], - "isValidate": [Function], - "locale": Object { - "format": [Function], - "getShortMonths": [Function], - "getShortWeekDays": [Function], - "getWeek": [Function], - "getWeekFirstDate": [Function], - "getWeekFirstDay": [Function], - "parse": [Function], - }, - "setDate": [Function], - "setHour": [Function], - "setMinute": [Function], - "setMonth": [Function], - "setSecond": [Function], - "setYear": [Function], - } - } - id="published_date" - locale={ - Object { - "backToToday": "Back to today", - "clear": "Clear", - "dateFormat": "M/D/YYYY", - "dateSelect": "select date", - "dateTimeFormat": "M/D/YYYY HH:mm:ss", - "dayFormat": "D", - "decadeSelect": "Choose a decade", - "locale": "en_US", - "month": "Month", - "monthBeforeYear": true, - "monthPlaceholder": "Select month", - "monthSelect": "Choose a month", - "nextCentury": "Next century", - "nextDecade": "Next decade", - "nextMonth": "Next month (PageDown)", - "nextYear": "Next year (Control + right)", - "now": "Now", - "ok": "Ok", - "placeholder": "Select date", - "previousCentury": "Last century", - "previousDecade": "Last decade", - "previousMonth": "Previous month (PageUp)", - "previousYear": "Last year (Control + left)", - "quarterPlaceholder": "Select quarter", - "rangeMonthPlaceholder": Array [ - "Start month", - "End month", - ], - "rangePlaceholder": Array [ - "Start date", - "End date", - ], - "rangeWeekPlaceholder": Array [ - "Start week", - "End week", - ], - "rangeYearPlaceholder": Array [ - "Start year", - "End year", - ], - "timeSelect": "select time", - "today": "Today", - "weekPlaceholder": "Select week", - "weekSelect": "Choose a week", - "year": "Year", - "yearFormat": "YYYY", - "yearPlaceholder": "Select year", - "yearSelect": "Choose a year", - } - } - nextIcon={ - - } - onChange={[Function]} - placeholder="Select date" - prefixCls="ant-picker" - prevIcon={ - - } - showToday={true} - suffixIcon={} - superNextIcon={ - - } - superPrevIcon={ - - } - transitionName="ant-slide-up" - value={null} - > - } - components={ - Object { - "button": [Function], - "rangeItem": [Function], - } - } - generateConfig={ - Object { - "addDate": [Function], - "addMonth": [Function], - "addYear": [Function], - "getDate": [Function], - "getEndDate": [Function], - "getFixedDate": [Function], - "getHour": [Function], - "getMinute": [Function], - "getMonth": [Function], - "getNow": [Function], - "getSecond": [Function], - "getWeekDay": [Function], - "getYear": [Function], - "isAfter": [Function], - "isValidate": [Function], - "locale": Object { - "format": [Function], - "getShortMonths": [Function], - "getShortWeekDays": [Function], - "getWeek": [Function], - "getWeekFirstDate": [Function], - "getWeekFirstDay": [Function], - "parse": [Function], - }, - "setDate": [Function], - "setHour": [Function], - "setMinute": [Function], - "setMonth": [Function], - "setSecond": [Function], - "setYear": [Function], - } - } - id="published_date" - locale={ - Object { - "backToToday": "Back to today", - "clear": "Clear", - "dateFormat": "M/D/YYYY", - "dateSelect": "select date", - "dateTimeFormat": "M/D/YYYY HH:mm:ss", - "dayFormat": "D", - "decadeSelect": "Choose a decade", - "locale": "en_US", - "month": "Month", - "monthBeforeYear": true, - "monthPlaceholder": "Select month", - "monthSelect": "Choose a month", - "nextCentury": "Next century", - "nextDecade": "Next decade", - "nextMonth": "Next month (PageDown)", - "nextYear": "Next year (Control + right)", - "now": "Now", - "ok": "Ok", - "placeholder": "Select date", - "previousCentury": "Last century", - "previousDecade": "Last decade", - "previousMonth": "Previous month (PageUp)", - "previousYear": "Last year (Control + left)", - "quarterPlaceholder": "Select quarter", - "rangeMonthPlaceholder": Array [ - "Start month", - "End month", - ], - "rangePlaceholder": Array [ - "Start date", - "End date", - ], - "rangeWeekPlaceholder": Array [ - "Start week", - "End week", - ], - "rangeYearPlaceholder": Array [ - "Start year", - "End year", - ], - "timeSelect": "select time", - "today": "Today", - "weekPlaceholder": "Select week", - "weekSelect": "Choose a week", - "year": "Year", - "yearFormat": "YYYY", - "yearPlaceholder": "Select year", - "yearSelect": "Choose a year", - } - } - nextIcon={ - - } - onChange={[Function]} - pickerRef={ - Object { - "current": Object { - "blur": [Function], - "focus": [Function], - }, - } - } - placeholder="Select date" - prefixCls="ant-picker" - prevIcon={ - - } - showToday={true} - suffixIcon={} - superNextIcon={ - - } - superPrevIcon={ - - } - transitionName="ant-slide-up" - value={null} - > - - } - components={ - Object { - "button": [Function], - "rangeItem": [Function], - } - } - generateConfig={ - Object { - "addDate": [Function], - "addMonth": [Function], - "addYear": [Function], - "getDate": [Function], - "getEndDate": [Function], - "getFixedDate": [Function], - "getHour": [Function], - "getMinute": [Function], - "getMonth": [Function], - "getNow": [Function], - "getSecond": [Function], - "getWeekDay": [Function], - "getYear": [Function], - "isAfter": [Function], - "isValidate": [Function], - "locale": Object { - "format": [Function], - "getShortMonths": [Function], - "getShortWeekDays": [Function], - "getWeek": [Function], - "getWeekFirstDate": [Function], - "getWeekFirstDay": [Function], - "parse": [Function], - }, - "setDate": [Function], - "setHour": [Function], - "setMinute": [Function], - "setMonth": [Function], - "setSecond": [Function], - "setYear": [Function], - } - } - id="published_date" - locale={ - Object { - "backToToday": "Back to today", - "clear": "Clear", - "dateFormat": "M/D/YYYY", - "dateSelect": "select date", - "dateTimeFormat": "M/D/YYYY HH:mm:ss", - "dayFormat": "D", - "decadeSelect": "Choose a decade", - "locale": "en_US", - "month": "Month", - "monthBeforeYear": true, - "monthPlaceholder": "Select month", - "monthSelect": "Choose a month", - "nextCentury": "Next century", - "nextDecade": "Next decade", - "nextMonth": "Next month (PageDown)", - "nextYear": "Next year (Control + right)", - "now": "Now", - "ok": "Ok", - "placeholder": "Select date", - "previousCentury": "Last century", - "previousDecade": "Last decade", - "previousMonth": "Previous month (PageUp)", - "previousYear": "Last year (Control + left)", - "quarterPlaceholder": "Select quarter", - "rangeMonthPlaceholder": Array [ - "Start month", - "End month", - ], - "rangePlaceholder": Array [ - "Start date", - "End date", - ], - "rangeWeekPlaceholder": Array [ - "Start week", - "End week", - ], - "rangeYearPlaceholder": Array [ - "Start year", - "End year", - ], - "timeSelect": "select time", - "today": "Today", - "weekPlaceholder": "Select week", - "weekSelect": "Choose a week", - "year": "Year", - "yearFormat": "YYYY", - "yearPlaceholder": "Select year", - "yearSelect": "Choose a year", - } - } - nextIcon={ - - } - onChange={null} - onPanelChange={[Function]} - onSelect={[Function]} - pickerRef={ - Object { - "current": Object { - "blur": [Function], - "focus": [Function], - }, - } - } - placeholder="Select date" - prefixCls="ant-picker" - prevIcon={ - - } - showToday={true} - suffixIcon={} - superNextIcon={ - - } - superPrevIcon={ - - } - tabIndex={-1} - transitionName="ant-slide-up" - value={null} - /> -
- } - popupPlacement="bottomLeft" - prefixCls="ant-picker" - transitionName="ant-slide-up" - visible={false} - > - - } - components={ - Object { - "button": [Function], - "rangeItem": [Function], - } - } - generateConfig={ - Object { - "addDate": [Function], - "addMonth": [Function], - "addYear": [Function], - "getDate": [Function], - "getEndDate": [Function], - "getFixedDate": [Function], - "getHour": [Function], - "getMinute": [Function], - "getMonth": [Function], - "getNow": [Function], - "getSecond": [Function], - "getWeekDay": [Function], - "getYear": [Function], - "isAfter": [Function], - "isValidate": [Function], - "locale": Object { - "format": [Function], - "getShortMonths": [Function], - "getShortWeekDays": [Function], - "getWeek": [Function], - "getWeekFirstDate": [Function], - "getWeekFirstDay": [Function], - "parse": [Function], - }, - "setDate": [Function], - "setHour": [Function], - "setMinute": [Function], - "setMonth": [Function], - "setSecond": [Function], - "setYear": [Function], - } - } - id="published_date" - locale={ - Object { - "backToToday": "Back to today", - "clear": "Clear", - "dateFormat": "M/D/YYYY", - "dateSelect": "select date", - "dateTimeFormat": "M/D/YYYY HH:mm:ss", - "dayFormat": "D", - "decadeSelect": "Choose a decade", - "locale": "en_US", - "month": "Month", - "monthBeforeYear": true, - "monthPlaceholder": "Select month", - "monthSelect": "Choose a month", - "nextCentury": "Next century", - "nextDecade": "Next decade", - "nextMonth": "Next month (PageDown)", - "nextYear": "Next year (Control + right)", - "now": "Now", - "ok": "Ok", - "placeholder": "Select date", - "previousCentury": "Last century", - "previousDecade": "Last decade", - "previousMonth": "Previous month (PageUp)", - "previousYear": "Last year (Control + left)", - "quarterPlaceholder": "Select quarter", - "rangeMonthPlaceholder": Array [ - "Start month", - "End month", - ], - "rangePlaceholder": Array [ - "Start date", - "End date", - ], - "rangeWeekPlaceholder": Array [ - "Start week", - "End week", - ], - "rangeYearPlaceholder": Array [ - "Start year", - "End year", - ], - "timeSelect": "select time", - "today": "Today", - "weekPlaceholder": "Select week", - "weekSelect": "Choose a week", - "year": "Year", - "yearFormat": "YYYY", - "yearPlaceholder": "Select year", - "yearSelect": "Choose a year", - } - } - nextIcon={ - - } - onChange={null} - onPanelChange={[Function]} - onSelect={[Function]} - pickerRef={ - Object { - "current": Object { - "blur": [Function], - "focus": [Function], - }, - } - } - placeholder="Select date" - prefixCls="ant-picker" - prevIcon={ - - } - showToday={true} - suffixIcon={} - superNextIcon={ - - } - superPrevIcon={ - - } - tabIndex={-1} - transitionName="ant-slide-up" - value={null} - /> -
- } - popupAlign={Object {}} - popupClassName="" - popupPlacement="bottomLeft" - popupStyle={Object {}} - popupTransitionName="ant-slide-up" - popupVisible={false} - prefixCls="ant-picker-dropdown" - showAction={Array []} - > -
-
- - - - - - - - - - - - -
-
- - - - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - } - /> - } - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - placeholder="Select categories" - searchValue="" - value={Array []} - > - - -
-
-
- - Select categories - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={ - } - /> - } - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select categories" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select categories - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={ - } - /> - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select categories" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select categories - - -
- - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - -
- - - - - -
-
- - - - - -
- - -
- - - - - - - - -
- - -
- -
- -
- - -
-
-
- - - } - /> - } - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - placeholder="Select tags" - searchValue="" - value={Array []} - > - - -
-
-
- - Select tags - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={ - } - /> - } - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select tags" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select tags - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={ - } - /> - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select tags" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select tags - - - - - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - -
-
-
- - Select authors - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - key="trigger" - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select authors" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > -
- } - defaultValue={Array []} - domRef={ - Object { - "current":
-
-
- -
-
- - Select authors - -
, - } - } - dropdownClassName="" - filterOption={[Function]} - getPopupContainer={[Function]} - inputElement={null} - inputIcon={ - - } - inputRef={ - Object { - "current": , - } - } - listHeight={128} - listItemHeight={24} - loading={true} - menuItemSelectedIcon={} - mode="multiple" - multiple={true} - notFoundContent={null} - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onPopupScroll={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - placeholder="Select authors" - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={true} - tokenWithEnter={false} - transitionName="ant-slide-up" - value={Array []} - values={Array []} - > - - - - -   - -
- } - > -
- -
-
- - - - -   - -
-
-
-
- - - Select authors - - - - - - - - } - customizeIconProps={ - Object { - "focused": false, - "loading": true, - "open": undefined, - "searchValue": "", - "showSearch": true, - } - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - Copy - , - - Test in Google Rich Results Text - , - ] - } - okType="primary" - onCancel={[Function]} - onOk={[Function]} - title="View Schemas" - visible={false} - width={520} - > - - - - } - confirmLoading={false} - focusTriggerAfterClose={true} - footer={ - Array [ - - Copy - , - - Test in Google Rich Results Text - , - ] - } - maskTransitionName="ant-fade" - okType="primary" - onCancel={[Function]} - onClose={[Function]} - onOk={[Function]} - prefixCls="ant-modal" - title="View Schemas" - transitionName="ant-zoom" - visible={false} - width={520} - wrapClassName="" - > - - - - - - - - - - - - - - - Post Meta data - - } - visible={false} - width={480} - > - - Post Meta data - - } - visible={false} - width={480} - > - -
- -
-
-
-
-
-
-
-

- Post Meta data -

-
- -
-
- - -
- - - -
-
-
- - -
-
- - - - - -
- -
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="meta_title" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - handleReset={[Function]} - id="meta_description" - inputType="text" - prefixCls="ant-input" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="meta_canonical_URL" - inputType="input" - onChange={[Function]} - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
-
-
-
-
-
- -
- - - - - Code Injection - - } - visible={false} - width={710} - > - - Code Injection - - } - visible={false} - width={710} - > - -
- -
-
-
-
-
-
-
-

- Code Injection -

-
- -
-
- - -
- - - -
-
-
- - -
-
- - - - - -
- -
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - -
- - - -
-
- - - - - -
- - -
- - - - - - - - -
- - -
- -
- -
- - -
-
-
- - - -
- - - -
-
- - - - - -
- - -
- - - - -
-
-
-
-
- -
- - - - - Meta Fields - - } - visible={false} - width={480} - > - - Meta Fields - - } - visible={false} - width={480} - > - -
- -
-
-
-
-
-
-
-

- Meta Fields -

-
- -
-
- - -
- - - -
-
-
- - -
-
- - - - - -
- -
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - -
- - - -
-
- - - - - -
- add JSON if you have to pass any extra data -
-
- - -
- - - - -
-
-
-
-
- -
- - - -
- -
- -
- -
- - - - - - - - - - -`; diff --git a/studio/src/pages/fact-checks/__snapshots__/GoogleFactCheck.test.js.snap b/studio/src/pages/fact-checks/__snapshots__/GoogleFactCheck.test.js.snap deleted file mode 100644 index c19d9f26a..000000000 --- a/studio/src/pages/fact-checks/__snapshots__/GoogleFactCheck.test.js.snap +++ /dev/null @@ -1,9713 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`GoogleFactCheck component snapshot testing should match when component loading 1`] = ` - - - -
- -
- - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="google-fact-check_query" - inputType="input" - onChange={[Function]} - placeholder="search fact checks" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - - All - -
, - } - } - dropdownClassName="" - id="google-fact-check_language" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - values={ - Array [ - Object { - "disabled": undefined, - "key": "all", - "label": "All", - "value": "all", - }, - ] - } - > -
- } - defaultValue="all" - domRef={ - Object { - "current":
- - - - - All - -
, - } - } - dropdownClassName="" - id="google-fact-check_language" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - values={ - Array [ - Object { - "disabled": undefined, - "key": "all", - "label": "All", - "value": "all", - }, - ] - } - > - - - - - - - All - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - -
- - - - - - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - - - -
- - -
- -
- -
-
-
- - - - - - -
-
-
-
    - -
  • - - <Base - component="h5" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h5" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h5 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Claim by Facebook posts: - </h5> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - - <Base - component="h4" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h4" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h4 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Video shows Russian doctors celebrating the new COVID-19 vaccine. - </h4> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - -
    - - BOOM - - rating : - - False - -
    -
    - - Video From Saudi Arabia Shared As Russian Doctors Celebrating COVID-19 Vaccine - -
  • -
    - -
  • - - <Base - component="h5" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h5" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h5 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Claim by social media users: - </h5> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - - <Base - component="h4" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h4" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h4 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Pelosi travels weekly to California on a 200-seat Boeing that costs millions annually in fuel - </h4> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - -
    - - BOOM - - rating : - - False - -
    -
    - - Fact check: False claim that Pelosi travels weekly on 200-seat ... - -
  • -
    -
-
-
-
-
-
-
-
-
- - - -`; - -exports[`GoogleFactCheck component snapshot testing should match when data 1`] = ` - - - -
- -
- - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="google-fact-check_query" - inputType="input" - onChange={[Function]} - placeholder="search fact checks" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - - All - -
, - } - } - dropdownClassName="" - id="google-fact-check_language" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - values={ - Array [ - Object { - "disabled": undefined, - "key": "all", - "label": "All", - "value": "all", - }, - ] - } - > -
- } - defaultValue="all" - domRef={ - Object { - "current":
- - - - - All - -
, - } - } - dropdownClassName="" - id="google-fact-check_language" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - values={ - Array [ - Object { - "disabled": undefined, - "key": "all", - "label": "All", - "value": "all", - }, - ] - } - > - - - - - - - All - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - -
- - - - - - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - - - - - - -
- - - - Back - - - Next - - -
- } - loading={false} - renderItem={[Function]} - > -
- -
-
-
    - -
  • - - <Base - component="h5" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h5" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h5 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Claim by Facebook posts: - </h5> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - - <Base - component="h4" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h4" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h4 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Video shows Russian doctors celebrating the new COVID-19 vaccine. - </h4> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - -
    - - BOOM - - rating : - - False - -
    -
    - - Video From Saudi Arabia Shared As Russian Doctors Celebrating COVID-19 Vaccine - -
  • -
    - -
  • - - <Base - component="h5" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h5" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h5 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Claim by social media users: - </h5> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - - <Base - component="h4" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h4" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h4 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Pelosi travels weekly to California on a 200-seat Boeing that costs millions annually in fuel - </h4> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - -
    - - BOOM - - rating : - - False - -
    -
    - - Fact check: False claim that Pelosi travels weekly on 200-seat ... - -
  • -
    -
-
-
-
-
- -
- -
- - - -
-
- -
- - - -
-
-
-
-
-
- - -
- -
-
-
-`; - -exports[`GoogleFactCheck component snapshot testing should render the component 1`] = ` - - - -
- -
- - - -
- - - - -
- - -
- -
- -
- - -
-
-
- - - - } - focused={false} - handleReset={[Function]} - id="google-fact-check_query" - inputType="input" - onChange={[Function]} - placeholder="search fact checks" - prefixCls="ant-input" - triggerFocus={[Function]} - type="text" - value="" - > - - - - -
-
- - - - - -
- -
-
-
-
-
-
- - - - -
- - -
- -
- -
- - -
-
-
- - - - - - All - -
, - } - } - dropdownClassName="" - id="google-fact-check_language" - inputElement={null} - inputIcon={[Function]} - key="trigger" - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - values={ - Array [ - Object { - "disabled": undefined, - "key": "all", - "label": "All", - "value": "all", - }, - ] - } - > -
- } - defaultValue="all" - domRef={ - Object { - "current":
- - - - - All - -
, - } - } - dropdownClassName="" - id="google-fact-check_language" - inputElement={null} - inputIcon={[Function]} - inputRef={ - Object { - "current": , - } - } - listHeight={256} - listItemHeight={24} - menuItemSelectedIcon={null} - multiple={false} - notFoundContent={ - - [Function] - - } - onChange={[Function]} - onInputChange={[Function]} - onInputCompositionEnd={[Function]} - onInputCompositionStart={[Function]} - onInputKeyDown={[Function]} - onInputMouseDown={[Function]} - onInputPaste={[Function]} - onSearch={[Function]} - onSearchSubmit={[Function]} - onSelect={[Function]} - onToggleOpen={[Function]} - prefixCls="ant-select" - removeIcon={} - searchValue="" - showSearch={false} - tokenWithEnter={false} - transitionName="ant-slide-up" - values={ - Array [ - Object { - "disabled": undefined, - "key": "all", - "label": "All", - "value": "all", - }, - ] - } - > - - - - - - - All - -
-
- - - - - - - - - - - - - - - - -
- - - - -
-
- - - - - -
- - -
- - - - - - -
- - - -
-
-
- - - -
-
- - - - - -
- -
-
-
-
- - - - - - - -
- - - - Back - - - Next - - -
- } - loading={false} - renderItem={[Function]} - > -
- -
-
-
    - -
  • - - <Base - component="h5" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h5" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h5 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Claim by Facebook posts: - </h5> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - - <Base - component="h4" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h4" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h4 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Video shows Russian doctors celebrating the new COVID-19 vaccine. - </h4> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - -
    - - BOOM - - rating : - - False - -
    -
    - - Video From Saudi Arabia Shared As Russian Doctors Celebrating COVID-19 Vaccine - -
  • -
    - -
  • - - <Base - component="h5" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h5" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h5 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Claim by social media users: - </h5> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - - <Base - component="h4" - > - <LocaleReceiver - componentName="Text" - > - <ResizeObserver - disabled={true} - onResize={[Function]} - > - <Typography - className="" - component="h4" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - <h4 - className="ant-typography" - style={ - Object { - "WebkitLineClamp": undefined, - } - } - > - Pelosi travels weekly to California on a 200-seat Boeing that costs millions annually in fuel - </h4> - </Typography> - </ResizeObserver> - </LocaleReceiver> - </Base> - - -
    - - BOOM - - rating : - - False - -
    -
    - - Fact check: False claim that Pelosi travels weekly on 200-seat ... - -
  • -
    -
-
-
-
-
- -
- -
- - - -
-
- -
- - - -
-
-
-
-
-
- - -
- -
-
-
-`; diff --git a/studio/src/pages/fact-checks/__snapshots__/index.test.js.snap b/studio/src/pages/fact-checks/__snapshots__/index.test.js.snap deleted file mode 100644 index 36946389b..000000000 --- a/studio/src/pages/fact-checks/__snapshots__/index.test.js.snap +++ /dev/null @@ -1,7397 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`FactCheck component snapshot testing should render the component 1`] = ` - - - - - -
- -
- - - - - -
-
- -
-