= () => (
>
Loading
+
diff --git a/frontend/libs/console/legacy-ce/src/lib/new-components/Button/Button.tsx b/frontend/libs/console/legacy-ce/src/lib/new-components/Button/Button.tsx
index 1b5819d08b4..cc22cb6825b 100644
--- a/frontend/libs/console/legacy-ce/src/lib/new-components/Button/Button.tsx
+++ b/frontend/libs/console/legacy-ce/src/lib/new-components/Button/Button.tsx
@@ -2,7 +2,7 @@ import React, { ReactElement } from 'react';
import { CgSpinner } from 'react-icons/cg';
import clsx from 'clsx';
-type ButtonModes = 'default' | 'destructive' | 'primary';
+type ButtonModes = 'default' | 'destructive' | 'primary' | 'success';
type ButtonSize = 'sm' | 'md' | 'lg';
export interface ButtonProps extends React.ComponentProps<'button'> {
@@ -42,6 +42,10 @@ export interface ButtonProps extends React.ComponentProps<'button'> {
* The button will take the maximum with possible
*/
full?: boolean;
+ // /**
+ // * Will use newer flat style buttons
+ // */
+ // appearance?: 'flat' | 'default';
}
export const buttonSizing: Record = {
@@ -50,17 +54,15 @@ export const buttonSizing: Record = {
sm: 'h-btnsm px-sm ',
};
-export const buttonModesStyles: Record = {
- default:
- 'text-gray-600 bg-gray-50 from-transparent to-white border-gray-300 hover:border-gray-400 disabled:border-gray-300 focus-visible:from-bg-gray-50 focus-visible:to-bg-gray-50',
- destructive:
- 'text-red-600 bg-gray-50 from-transparent to-white border-gray-300 hover:border-gray-400 disabled:border-gray-300 focus-visible:from-bg-gray-50 focus-visible:to-bg-gray-50',
- primary:
- 'text-gray-600 from-primary to-primary-light border-primary-dark hover:border-primary-darker focus-visible:from-primary focus-visible:to-primary disabled:border-primary-dark',
-};
+const twWhiteBg = `bg-gray-50 from-transparent to-white border-gray-300 hover:border-gray-400 disabled:border-gray-300 focus-visible:from-bg-gray-50 focus-visible:to-bg-gray-50`;
-export const sharedButtonStyle =
- 'items-center max-w-full justify-center inline-flex items-center text-sm font-sans font-semibold bg-gradient-to-t border rounded shadow-sm focus-visible:outline-none focus-visible:bg-gradient-to-t focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-yellow-400 disabled:opacity-60';
+export const twButtonStyles = {
+ all: `items-center max-w-full justify-center inline-flex text-sm font-sans font-semibold bg-gradient-to-t border rounded shadow-sm focus-visible:outline-none focus-visible:bg-gradient-to-t focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:ring-yellow-400 disabled:opacity-60`,
+ default: `text-gray-600 ${twWhiteBg} focus-visible:ring-gray-400`,
+ destructive: `text-red-600 ${twWhiteBg} focus-visible:ring-red-400`,
+ success: `text-green-600 ${twWhiteBg} focus-visible:ring-green-400`,
+ primary: `text-gray-600 from-primary to-primary-light border-primary-dark hover:border-primary-darker focus-visible:from-primary focus-visible:to-primary disabled:border-primary-dark`,
+};
const fullWidth = 'w-full';
@@ -78,15 +80,18 @@ export const Button = (props: ButtonProps) => {
full,
...otherHtmlAttributes
} = props;
+
const isDisabled = disabled || isLoading;
+ const styles = twButtonStyles;
+
const buttonAttributes = {
type,
...otherHtmlAttributes,
disabled: isDisabled,
className: clsx(
- sharedButtonStyle,
- buttonModesStyles[mode],
+ styles.all,
+ styles[mode],
buttonSizing[size],
isDisabled ? 'cursor-not-allowed' : '',
full && fullWidth,
diff --git a/frontend/package-lock.json b/frontend/package-lock.json
index c1b5d9bf025..6fc8deda870 100644
--- a/frontend/package-lock.json
+++ b/frontend/package-lock.json
@@ -18,12 +18,13 @@
"@hookform/resolvers": "2.8.10",
"@netsells/storybook-mockdate": "^0.3.2",
"@radix-ui/colors": "^0.1.8",
+ "@radix-ui/react-alert-dialog": "^1.0.3",
"@radix-ui/react-checkbox": "1.0.1",
"@radix-ui/react-collapsible": "^1.0.0",
"@radix-ui/react-dialog": "^1.0.0",
"@radix-ui/react-dropdown-menu": "^1.0.0",
"@radix-ui/react-radio-group": "^1.1.1",
- "@radix-ui/react-scroll-area": "^1.0.2",
+ "@radix-ui/react-scroll-area": "^1.0.3",
"@radix-ui/react-switch": "^1.0.0",
"@radix-ui/react-tabs": "^1.0.0",
"@radix-ui/react-tooltip": "^1.0.0",
@@ -104,7 +105,7 @@
"react-helmet": "5.2.1",
"react-hook-form": "7.15.4",
"react-hot-toast": "2.4.0",
- "react-icons": "^4.7.1",
+ "react-icons": "^4.8.0",
"react-json-view": "^1.21.3",
"react-loading-skeleton": "^3.1.0",
"react-lottie": "^1.2.3",
@@ -155,6 +156,7 @@
"@babel/preset-typescript": "7.12.13",
"@babel/register": "7.9.0",
"@babel/runtime": "7.14.8",
+ "@faker-js/faker": "^7.6.0",
"@graphql-codegen/cli": "2.13.8",
"@graphql-codegen/typescript-operations": "^2.5.5",
"@hookform/devtools": "4.0.1",
@@ -216,6 +218,7 @@
"@types/mini-css-extract-plugin": "0.9.1",
"@types/node": "18.11.9",
"@types/optimize-css-assets-webpack-plugin": "5.0.1",
+ "@types/random-words": "^1.1.2",
"@types/react": "17.0.39",
"@types/react-addons-test-utils": "0.14.25",
"@types/react-autosuggest": "^10.1.5",
@@ -303,6 +306,7 @@
"path-browserify": "^1.0.1",
"postcss": "8.4.19",
"prettier": "^2.6.2",
+ "random-words": "^1.3.0",
"react-a11y": "0.2.8",
"react-hot-loader": "4.13.0",
"react-refresh": "^0.10.0",
@@ -3554,6 +3558,16 @@
"@f/map-obj": "^1.2.2"
}
},
+ "node_modules/@faker-js/faker": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.6.0.tgz",
+ "integrity": "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==",
+ "dev": true,
+ "engines": {
+ "node": ">=14.0.0",
+ "npm": ">=6.0.0"
+ }
+ },
"node_modules/@floating-ui/core": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz",
@@ -11147,6 +11161,37 @@
"@babel/runtime": "^7.13.10"
}
},
+ "node_modules/@radix-ui/react-alert-dialog": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.3.tgz",
+ "integrity": "sha512-QXFy7+bhGi0u+paF2QbJeSCHZs4gLMJIPm6sajUamyW0fro6g1CaSGc5zmc4QmK2NlSGUrq8m+UsUqJYtzvXow==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dialog": "1.0.3",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-alert-dialog/node_modules/@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
"node_modules/@radix-ui/react-arrow": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.0.tgz",
@@ -11289,21 +11334,21 @@
}
},
"node_modules/@radix-ui/react-dialog": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.2.tgz",
- "integrity": "sha512-EKxxp2WNSmUPkx4trtWNmZ4/vAYEg7JkAfa1HKBUnaubw9eHzf1Orr9B472lJYaYz327RHDrd4R95fsw7VR8DA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.3.tgz",
+ "integrity": "sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==",
"dependencies": {
"@babel/runtime": "^7.13.10",
"@radix-ui/primitive": "1.0.0",
"@radix-ui/react-compose-refs": "1.0.0",
"@radix-ui/react-context": "1.0.0",
- "@radix-ui/react-dismissable-layer": "1.0.2",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
"@radix-ui/react-focus-guards": "1.0.0",
- "@radix-ui/react-focus-scope": "1.0.1",
+ "@radix-ui/react-focus-scope": "1.0.2",
"@radix-ui/react-id": "1.0.0",
- "@radix-ui/react-portal": "1.0.1",
+ "@radix-ui/react-portal": "1.0.2",
"@radix-ui/react-presence": "1.0.0",
- "@radix-ui/react-primitive": "1.0.1",
+ "@radix-ui/react-primitive": "1.0.2",
"@radix-ui/react-slot": "1.0.1",
"@radix-ui/react-use-controllable-state": "1.0.0",
"aria-hidden": "^1.1.1",
@@ -11314,6 +11359,49 @@
"react-dom": "^16.8 || ^17.0 || ^18.0"
}
},
+ "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz",
+ "integrity": "sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-escape-keydown": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-portal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.2.tgz",
+ "integrity": "sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dialog/node_modules/@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
"node_modules/@radix-ui/react-direction": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.0.tgz",
@@ -11398,13 +11486,13 @@
}
},
"node_modules/@radix-ui/react-focus-scope": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.1.tgz",
- "integrity": "sha512-Ej2MQTit8IWJiS2uuujGUmxXjF/y5xZptIIQnyd2JHLwtV0R2j9NRVoRj/1j/gJ7e3REdaBw4Hjf4a1ImhkZcQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.2.tgz",
+ "integrity": "sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==",
"dependencies": {
"@babel/runtime": "^7.13.10",
"@radix-ui/react-compose-refs": "1.0.0",
- "@radix-ui/react-primitive": "1.0.1",
+ "@radix-ui/react-primitive": "1.0.2",
"@radix-ui/react-use-callback-ref": "1.0.0"
},
"peerDependencies": {
@@ -11412,6 +11500,19 @@
"react-dom": "^16.8 || ^17.0 || ^18.0"
}
},
+ "node_modules/@radix-ui/react-focus-scope/node_modules/@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0 || ^18.0",
+ "react-dom": "^16.8 || ^17.0 || ^18.0"
+ }
+ },
"node_modules/@radix-ui/react-id": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.0.tgz",
@@ -24406,6 +24507,12 @@
"integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
"dev": true
},
+ "node_modules/@types/random-words": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/random-words/-/random-words-1.1.2.tgz",
+ "integrity": "sha512-gULpJ68bNovfBWPWNNhwJgd/GcKdfkPpXXQGgACQWffgy6LRiJB4+4s/IslhFJKQvb5wBlnlOwFJ6RawHU5z3A==",
+ "dev": true
+ },
"node_modules/@types/range-parser": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
@@ -55019,6 +55126,15 @@
"url": "https://opencollective.com/ramda"
}
},
+ "node_modules/random-words": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/random-words/-/random-words-1.3.0.tgz",
+ "integrity": "sha512-brwCGe+DN9DqZrAQVNj1Tct1Lody6GrYL/7uei5wfjeQdacFyFd2h/51LNlOoBMzIKMS9xohuL4+wlF/z1g/xg==",
+ "dev": true,
+ "dependencies": {
+ "seedrandom": "^3.0.5"
+ }
+ },
"node_modules/randomatic": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
@@ -56243,9 +56359,9 @@
}
},
"node_modules/react-icons": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz",
- "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw==",
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz",
+ "integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg==",
"peerDependencies": {
"react": "*"
}
@@ -58864,6 +58980,12 @@
"integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==",
"dev": true
},
+ "node_modules/seedrandom": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
+ "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
+ "dev": true
+ },
"node_modules/seek-bzip": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
@@ -62926,9 +63048,9 @@
}
},
"node_modules/type-fest": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.6.1.tgz",
- "integrity": "sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.8.0.tgz",
+ "integrity": "sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==",
"dev": true,
"engines": {
"node": ">=14.16"
@@ -65497,9 +65619,9 @@
}
},
"node_modules/zustand": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.6.tgz",
- "integrity": "sha512-6J5zDxjxLE+yukC2XZWf/IyWVKnXT9b9HUv09VJ/bwGCpKNcaTqp7Ws28Xr8jnbvnZcdRaidztAPsXFBIqufiw==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.7.tgz",
+ "integrity": "sha512-dY8ERwB9Nd21ellgkBZFhudER8KVlelZm8388B5nDAXhO/+FZDhYMuRnqDgu5SYyRgz/iaf8RKnbUs/cHfOGlQ==",
"dependencies": {
"use-sync-external-store": "1.2.0"
},
@@ -67939,6 +68061,12 @@
"@f/map-obj": "^1.2.2"
}
},
+ "@faker-js/faker": {
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-7.6.0.tgz",
+ "integrity": "sha512-XK6BTq1NDMo9Xqw/YkYyGjSsg44fbNwYRx7QK2CuoQgyy+f1rrTDHoExVM5PsyXCtfl2vs2vVJ0MN0yN6LppRw==",
+ "dev": true
+ },
"@floating-ui/core": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.7.3.tgz",
@@ -73843,6 +73971,31 @@
"@babel/runtime": "^7.13.10"
}
},
+ "@radix-ui/react-alert-dialog": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.3.tgz",
+ "integrity": "sha512-QXFy7+bhGi0u+paF2QbJeSCHZs4gLMJIPm6sajUamyW0fro6g1CaSGc5zmc4QmK2NlSGUrq8m+UsUqJYtzvXow==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-context": "1.0.0",
+ "@radix-ui/react-dialog": "1.0.3",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-slot": "1.0.1"
+ },
+ "dependencies": {
+ "@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ }
+ }
+ },
"@radix-ui/react-arrow": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.0.tgz",
@@ -73953,25 +74106,58 @@
}
},
"@radix-ui/react-dialog": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.2.tgz",
- "integrity": "sha512-EKxxp2WNSmUPkx4trtWNmZ4/vAYEg7JkAfa1HKBUnaubw9eHzf1Orr9B472lJYaYz327RHDrd4R95fsw7VR8DA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.3.tgz",
+ "integrity": "sha512-owNhq36kNPqC2/a+zJRioPg6HHnTn5B/sh/NjTY8r4W9g1L5VJlrzZIVcBr7R9Mg8iLjVmh6MGgMlfoVf/WO/A==",
"requires": {
"@babel/runtime": "^7.13.10",
"@radix-ui/primitive": "1.0.0",
"@radix-ui/react-compose-refs": "1.0.0",
"@radix-ui/react-context": "1.0.0",
- "@radix-ui/react-dismissable-layer": "1.0.2",
+ "@radix-ui/react-dismissable-layer": "1.0.3",
"@radix-ui/react-focus-guards": "1.0.0",
- "@radix-ui/react-focus-scope": "1.0.1",
+ "@radix-ui/react-focus-scope": "1.0.2",
"@radix-ui/react-id": "1.0.0",
- "@radix-ui/react-portal": "1.0.1",
+ "@radix-ui/react-portal": "1.0.2",
"@radix-ui/react-presence": "1.0.0",
- "@radix-ui/react-primitive": "1.0.1",
+ "@radix-ui/react-primitive": "1.0.2",
"@radix-ui/react-slot": "1.0.1",
"@radix-ui/react-use-controllable-state": "1.0.0",
"aria-hidden": "^1.1.1",
"react-remove-scroll": "2.5.5"
+ },
+ "dependencies": {
+ "@radix-ui/react-dismissable-layer": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.3.tgz",
+ "integrity": "sha512-nXZOvFjOuHS1ovumntGV7NNoLaEp9JEvTht3MBjP44NSW5hUKj/8OnfN3+8WmB+CEhN44XaGhpHoSsUIEl5P7Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "1.0.0",
+ "@radix-ui/react-compose-refs": "1.0.0",
+ "@radix-ui/react-primitive": "1.0.2",
+ "@radix-ui/react-use-callback-ref": "1.0.0",
+ "@radix-ui/react-use-escape-keydown": "1.0.2"
+ }
+ },
+ "@radix-ui/react-portal": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.2.tgz",
+ "integrity": "sha512-swu32idoCW7KA2VEiUZGBSu9nB6qwGdV6k6HYhUoOo3M1FFpD+VgLzUqtt3mwL1ssz7r2x8MggpLSQach2Xy/Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "1.0.2"
+ }
+ },
+ "@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ }
}
},
"@radix-ui/react-direction": {
@@ -74039,14 +74225,25 @@
}
},
"@radix-ui/react-focus-scope": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.1.tgz",
- "integrity": "sha512-Ej2MQTit8IWJiS2uuujGUmxXjF/y5xZptIIQnyd2JHLwtV0R2j9NRVoRj/1j/gJ7e3REdaBw4Hjf4a1ImhkZcQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.2.tgz",
+ "integrity": "sha512-spwXlNTfeIprt+kaEWE/qYuYT3ZAqJiAGjN/JgdvgVDTu8yc+HuX+WOWXrKliKnLnwck0F6JDkqIERncnih+4A==",
"requires": {
"@babel/runtime": "^7.13.10",
"@radix-ui/react-compose-refs": "1.0.0",
- "@radix-ui/react-primitive": "1.0.1",
+ "@radix-ui/react-primitive": "1.0.2",
"@radix-ui/react-use-callback-ref": "1.0.0"
+ },
+ "dependencies": {
+ "@radix-ui/react-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.2.tgz",
+ "integrity": "sha512-zY6G5Qq4R8diFPNwtyoLRZBxzu1Z+SXMlfYpChN7Dv8gvmx9X3qhDqiLWvKseKVJMuedFeU/Sa0Sy/Ia+t06Dw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "1.0.1"
+ }
+ }
}
},
"@radix-ui/react-id": {
@@ -83945,6 +84142,12 @@
"integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
"dev": true
},
+ "@types/random-words": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@types/random-words/-/random-words-1.1.2.tgz",
+ "integrity": "sha512-gULpJ68bNovfBWPWNNhwJgd/GcKdfkPpXXQGgACQWffgy6LRiJB4+4s/IslhFJKQvb5wBlnlOwFJ6RawHU5z3A==",
+ "dev": true
+ },
"@types/range-parser": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
@@ -107703,6 +107906,15 @@
"integrity": "sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==",
"dev": true
},
+ "random-words": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/random-words/-/random-words-1.3.0.tgz",
+ "integrity": "sha512-brwCGe+DN9DqZrAQVNj1Tct1Lody6GrYL/7uei5wfjeQdacFyFd2h/51LNlOoBMzIKMS9xohuL4+wlF/z1g/xg==",
+ "dev": true,
+ "requires": {
+ "seedrandom": "^3.0.5"
+ }
+ },
"randomatic": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
@@ -108611,9 +108823,9 @@
}
},
"react-icons": {
- "version": "4.7.1",
- "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.7.1.tgz",
- "integrity": "sha512-yHd3oKGMgm7zxo3EA7H2n7vxSoiGmHk5t6Ou4bXsfcgWyhfDKMpyKfhHR6Bjnn63c+YXBLBPUql9H4wPJM6sXw=="
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-4.8.0.tgz",
+ "integrity": "sha512-N6+kOLcihDiAnj5Czu637waJqSnwlMNROzVZMhfX68V/9bu9qHaMIJC4UdozWoOk57gahFCNHwVvWzm0MTzRjg=="
},
"react-input-autosize": {
"version": "2.2.2",
@@ -110625,6 +110837,12 @@
"integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==",
"dev": true
},
+ "seedrandom": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/seedrandom/-/seedrandom-3.0.5.tgz",
+ "integrity": "sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==",
+ "dev": true
+ },
"seek-bzip": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz",
@@ -113814,9 +114032,9 @@
"dev": true
},
"type-fest": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.6.1.tgz",
- "integrity": "sha512-htXWckxlT6U4+ilVgweNliPqlsVSSucbxVexRYllyMVJDtf5rTjv6kF/s+qAd4QSL1BZcnJPEJavYBPQiWuZDA==",
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.8.0.tgz",
+ "integrity": "sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==",
"dev": true
},
"type-is": {
@@ -115776,9 +115994,9 @@
"integrity": "sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ=="
},
"zustand": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.6.tgz",
- "integrity": "sha512-6J5zDxjxLE+yukC2XZWf/IyWVKnXT9b9HUv09VJ/bwGCpKNcaTqp7Ws28Xr8jnbvnZcdRaidztAPsXFBIqufiw==",
+ "version": "4.3.7",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.3.7.tgz",
+ "integrity": "sha512-dY8ERwB9Nd21ellgkBZFhudER8KVlelZm8388B5nDAXhO/+FZDhYMuRnqDgu5SYyRgz/iaf8RKnbUs/cHfOGlQ==",
"requires": {
"use-sync-external-store": "1.2.0"
}
diff --git a/frontend/package.json b/frontend/package.json
index 51f76bd0575..275682dfe5c 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -56,12 +56,13 @@
"@hookform/resolvers": "2.8.10",
"@netsells/storybook-mockdate": "^0.3.2",
"@radix-ui/colors": "^0.1.8",
+ "@radix-ui/react-alert-dialog": "^1.0.3",
"@radix-ui/react-checkbox": "1.0.1",
"@radix-ui/react-collapsible": "^1.0.0",
"@radix-ui/react-dialog": "^1.0.0",
"@radix-ui/react-dropdown-menu": "^1.0.0",
"@radix-ui/react-radio-group": "^1.1.1",
- "@radix-ui/react-scroll-area": "^1.0.2",
+ "@radix-ui/react-scroll-area": "^1.0.3",
"@radix-ui/react-switch": "^1.0.0",
"@radix-ui/react-tabs": "^1.0.0",
"@radix-ui/react-tooltip": "^1.0.0",
@@ -142,7 +143,7 @@
"react-helmet": "5.2.1",
"react-hook-form": "7.15.4",
"react-hot-toast": "2.4.0",
- "react-icons": "^4.7.1",
+ "react-icons": "^4.8.0",
"react-json-view": "^1.21.3",
"react-loading-skeleton": "^3.1.0",
"react-lottie": "^1.2.3",
@@ -193,6 +194,7 @@
"@babel/preset-typescript": "7.12.13",
"@babel/register": "7.9.0",
"@babel/runtime": "7.14.8",
+ "@faker-js/faker": "^7.6.0",
"@graphql-codegen/cli": "2.13.8",
"@graphql-codegen/typescript-operations": "^2.5.5",
"@hookform/devtools": "4.0.1",
@@ -254,6 +256,7 @@
"@types/mini-css-extract-plugin": "0.9.1",
"@types/node": "18.11.9",
"@types/optimize-css-assets-webpack-plugin": "5.0.1",
+ "@types/random-words": "^1.1.2",
"@types/react": "17.0.39",
"@types/react-addons-test-utils": "0.14.25",
"@types/react-autosuggest": "^10.1.5",
@@ -341,6 +344,7 @@
"path-browserify": "^1.0.1",
"postcss": "8.4.19",
"prettier": "^2.6.2",
+ "random-words": "^1.3.0",
"react-a11y": "0.2.8",
"react-hot-loader": "4.13.0",
"react-refresh": "^0.10.0",
@@ -357,10 +361,10 @@
"stylus": "^0.55.0",
"tailwindcss": "3.2.4",
"tailwindcss-radix": "^2.5.0",
+ "type-fest": "^3.6.1",
"ts-jest": "29.0.5",
"ts-node": "10.9.1",
"tslib": "^2.3.0",
- "type-fest": "^3.6.1",
"typescript": "4.9.5",
"unplugin-dynamic-asset-loader": "1.0.0",
"url-loader": "^4.1.1",
diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js
index 092c904a6f5..5a216badf3d 100644
--- a/frontend/tailwind.config.js
+++ b/frontend/tailwind.config.js
@@ -199,6 +199,14 @@ module.exports = {
opacity: '0',
},
},
+ fadeIn: {
+ from: { opacity: 0 },
+ to: { opacity: 1 },
+ },
+ alertContentShow: {
+ from: { opacity: 0, transform: 'translate(-50%, -48%) scale(0.96)' },
+ to: { opacity: 1, transform: 'translate(-50%, -50%) scale(1)' },
+ },
},
animation: {
collapsibleContentOpen: 'collapsibleContentOpen 300ms ease-out',
@@ -216,6 +224,8 @@ module.exports = {
notificationClose: 'notificationClose 300ms ease-in-out',
dropdownMenuContentOpen: 'dropdownMenuContentOpen 100ms ease-in',
dropdownMenuContentClose: 'dropdownMenuContentClose 100ms ease-out',
+ overlayShow: 'overlayShow 150ms cubic-bezier(0.16, 1, 0.3, 1)',
+ contentShow: 'contentShow 150ms cubic-bezier(0.16, 1, 0.3, 1)',
},
},
},