diff --git a/.github/workflows/tags.yml b/.github/workflows/tags.yml index fd4d0866..8b852fbd 100644 --- a/.github/workflows/tags.yml +++ b/.github/workflows/tags.yml @@ -158,3 +158,12 @@ jobs: file: apps/node/novu-publisher/Dockerfile push: true tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/novu-publisher:${{ steps.extract_tag.outputs.tag }}" + + - name: Build and push Docker image for email-sender + uses: docker/build-push-action@v2 + with: + context: ./apps/node/email-sender + platforms: linux/amd64,linux/arm64 + file: apps/node/email-sender/Dockerfile + push: true + tags: "${{ env.REGISTRY }}/${{ env.REPOSITORY_OWNER }}/email-sender:${{ steps.extract_tag.outputs.tag }}" diff --git a/.gitignore b/.gitignore index 99c730c0..505f02ff 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *.ignore target +dist # Created by https://www.toptal.com/developers/gitignore/api/eclipse # Edit at https://www.toptal.com/developers/gitignore?templates=eclipse diff --git a/apps/java/services/c7-external-tasks/application.yml b/apps/java/services/c7-external-tasks/application.yml index 86412ffe..2fc576e3 100644 --- a/apps/java/services/c7-external-tasks/application.yml +++ b/apps/java/services/c7-external-tasks/application.yml @@ -40,7 +40,7 @@ management.health.reds.enabled: false management.endpoints.web.exposure.include: health,info management.endpoint.health.show-details: never -wks.kafka.enabled: ${KAFKA_ENABLED:true} +wks.kafka.enabled: ${KAFKA_ENABLED:false} wks.kafka.topic.case-create: ${KAFKA_TOPIC_CASE_CREATE:case-create} wks.kafka.topic.case-email-outbound: ${KAFKA_TOPIC_CASE_EMAIL_OUTBOUND:case-email-outbound} spring.kafka.bootstrap-servers: ${KAFKA_URL:localhost:9092} \ No newline at end of file diff --git a/apps/java/services/c8-external-tasks/application.yml b/apps/java/services/c8-external-tasks/application.yml index 5770afe9..49016b0d 100644 --- a/apps/java/services/c8-external-tasks/application.yml +++ b/apps/java/services/c8-external-tasks/application.yml @@ -30,6 +30,6 @@ management.health.reds.enabled: false management.endpoints.web.exposure.include: health,info management.endpoint.health.show-details: never -wks.kafka.enabled: ${KAFKA_ENABLED:true} +wks.kafka.enabled: ${KAFKA_ENABLED:false} wks.kafka.topic.case-create: ${KAFKA_TOPIC_CASE_CREATE:case-create} spring.kafka.bootstrap-servers: ${KAFKA_URL:localhost:9092} \ No newline at end of file diff --git a/apps/react/case-portal/.env-back b/apps/react/case-portal/.env-back new file mode 100644 index 00000000..d9dd5ada --- /dev/null +++ b/apps/react/case-portal/.env-back @@ -0,0 +1,12 @@ +PORT=3001 +GENERATE_SOURCEMAP= false +REACT_APP_KEYCLOAK_URL= http://localhost:8082 +REACT_APP_API_URL= http://localhost:8081 +REACT_APP_EMAIL_URL= http://localhost:8083 +REACT_APP_STORAGE_URL= http://localhost:8085 +REACT_APP_WEBSOCKETS_ENABLED= false +REACT_APP_WEBSOCKETS_URL= ws://localhost:8484 +REACT_APP_WEBSOCKETS_CASE_CREATED= case-create +REACT_APP_WEBSOCKETS_HUMAN_TASK_CREATED= human-task-create +REACT_APP_NOVU_ENABLED= false +REACT_APP_NOVU_PUBLISHER_API_URL=http://localhost:3002 \ No newline at end of file diff --git a/apps/react/case-portal/.eslintrc b/apps/react/case-portal/.eslintrc deleted file mode 100644 index af25636f..00000000 --- a/apps/react/case-portal/.eslintrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": ["react-app"], - "rules": { - "react-hooks/exhaustive-deps": "off", - "import/no-anonymous-default-export": "off" - } -} \ No newline at end of file diff --git a/apps/react/case-portal/.eslintrc.json b/apps/react/case-portal/.eslintrc.json new file mode 100644 index 00000000..51827053 --- /dev/null +++ b/apps/react/case-portal/.eslintrc.json @@ -0,0 +1,32 @@ +{ + "ignorePatterns": ["dist/"], + "settings": { + "react": { + "version": "detect" + } + }, + "parser": "@babel/eslint-parser", + "parserOptions": { + "ecmaVersion": 2021, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "env": { + "browser": true, + "node": true, + "es2021": true + }, + "extends": ["eslint:recommended", "plugin:react/recommended"], + "plugins": ["react"], + "rules": { + "semi": ["error", "always"], + "quotes": ["error", "single"], + "no-unused-vars": "error", + "no-undef": "error", + "react/react-in-jsx-scope": "off", + "react/jsx-uses-react": "off", + "react/prop-types": "off" + } +} diff --git a/apps/react/case-portal/.prettierignore b/apps/react/case-portal/.prettierignore new file mode 100644 index 00000000..960f5367 --- /dev/null +++ b/apps/react/case-portal/.prettierignore @@ -0,0 +1,8 @@ +build/ +node_modules/ +internals/generators/ +internals/scripts/ +package-lock.json +yarn.lock +package.json +dist \ No newline at end of file diff --git a/apps/react/case-portal/.prettierrc b/apps/react/case-portal/.prettierrc index d81dda7d..d0f72555 100644 --- a/apps/react/case-portal/.prettierrc +++ b/apps/react/case-portal/.prettierrc @@ -1,8 +1,11 @@ { - "bracketSpacing": true, - "printWidth": 100, - "singleQuote": true, - "trailingComma": "none", - "tabWidth": 4, - "useTabs": false + "semi": false, + "bracketSpacing": true, + "printWidth": 80, + "singleQuote": true, + "jsxSingleQuote": true, + "trailingComma": "all", + "tabWidth": 2, + "useTabs": false, + "arrowParens": "always" } diff --git a/apps/react/case-portal/Dockerfile b/apps/react/case-portal/Dockerfile index afd60104..05afa7ef 100644 --- a/apps/react/case-portal/Dockerfile +++ b/apps/react/case-portal/Dockerfile @@ -46,7 +46,7 @@ RUN yarn build FROM nginx:alpine # Copy built files from the previous stage -COPY --from=build /app/build /usr/share/nginx/html +COPY --from=build /app/dist /usr/share/nginx/html # Copy NGINX configuration file COPY nginx.conf /etc/nginx/conf.d/default.conf diff --git a/apps/react/case-portal/deployments/Dockerfile b/apps/react/case-portal/deployments/Dockerfile index 986ca559..421a4557 100644 --- a/apps/react/case-portal/deployments/Dockerfile +++ b/apps/react/case-portal/deployments/Dockerfile @@ -1,4 +1,4 @@ FROM nginx:1.15.8-alpine COPY deployments/nginx.conf /etc/nginx/nginx.conf -COPY build /usr/share/nginx/html +COPY dist /usr/share/nginx/html CMD ["nginx"] \ No newline at end of file diff --git a/apps/react/case-portal/jsconfig.json b/apps/react/case-portal/jsconfig.json index b4fd6a18..efde4085 100644 --- a/apps/react/case-portal/jsconfig.json +++ b/apps/react/case-portal/jsconfig.json @@ -1,9 +1,9 @@ { - "compilerOptions": { - "target": "esnext", - "module": "esnext", - "baseUrl": "src" - }, - "include": ["src/**/*"], - "exclude": ["node_modules"] + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "baseUrl": "src" + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] } diff --git a/apps/react/case-portal/package.json b/apps/react/case-portal/package.json index 19f69153..5bc1584b 100644 --- a/apps/react/case-portal/package.json +++ b/apps/react/case-portal/package.json @@ -1,112 +1,88 @@ { - "name": "case-portal", - "version": "1.0.0", - "private": true, - "homepage": "https://www.wkspower.com", - "dependencies": { - "@ant-design/colors": "^6.0.0", - "@ant-design/icons": "^4.0.0-rc.0", - "@emotion/cache": "^11.7.1", - "@emotion/react": "^11.7.1", - "@emotion/styled": "^11.6.0", - "@formio/react": "^5.2.4-rc.1", - "@miragon/camunda-web-modeler": "^0.0.4", - "@mui/icons-material": "^5.10.9", - "@mui/lab": "^5.0.0-alpha.106", - "@mui/material": "^5.10.12", - "@mui/styles": "^5.15.15", - "@mui/x-data-grid": "^5.17.10", - "@novu/notification-center": "^0.23.1", - "@reduxjs/toolkit": "^1.7.1", - "@syncfusion/ej2-react-kanban": "^20.4.42", - "@tabler/icons": "^1.96.0", - "@testing-library/jest-dom": "^5.11.4", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^14.4.3", - "add": "^2.0.6", - "apexcharts": "^3.27.3", - "bpmn-js": "^10.0.0", - "date-fns": "^2.29.3", - "dompurify": "^3.0.11", - "formik": "^2.2.9", - "formiojs": "^4.14.8", - "framer-motion": "^7.3.5", - "history": "^5.0.0", - "i18next": "^22.4.10", - "keycloak-js": "^18.0.0", - "lodash": "^4.17.21", - "moment": "^2.29.4", - "prop-types": "^15.8.1", - "react": "^18.2.0", - "react-apexcharts": "^1.3.9", - "react-copy-to-clipboard": "^5.0.4", - "react-device-detect": "^2.1.2", - "react-dom": "^18.2.0", - "react-draggable": "^4.4.4", - "react-files": "^3.0.0", - "react-i18next": "^12.2.0", - "react-number-format": "^5.0.0-beta.4", - "react-perfect-scrollbar": "^1.5.8", - "react-redux": "^8.0.2", - "react-router": "^6.2.1", - "react-router-dom": "^6.2.1", - "react-scripts": "^5.0.1", - "react-syntax-highlighter": "^15.4.5", - "react-window": "^1.8.6", - "redux": "^4.1.2", - "remove": "^0.1.5", - "simplebar": "^5.3.5", - "simplebar-react": "^2.3.6", - "web-vitals": "^3.0.2", - "yup": "^0.32.11" - }, - "scripts": { - "start": "react-scripts start", - "build": "react-scripts build", - "test": "react-scripts test", - "eject": "react-scripts eject" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - }, - "babel": { - "presets": [ - "@babel/preset-env", - "@babel/preset-react", - "@babel/preset-typescript" - ] - }, - "browserslist": { - "production": [ - ">0.2%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "devDependencies": { - "@babel/core": "^7.14.3", - "@babel/eslint-parser": "^7.15.8", - "@babel/preset-react": "^7.18.6", - "eslint": "^8.23.1", - "eslint-config-airbnb-typescript": "^17.0.0", - "eslint-config-prettier": "^8.3.0", - "eslint-config-react-app": "7.0.1", - "eslint-import-resolver-typescript": "3.5.1", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.23.3", - "eslint-plugin-jsx-a11y": "6.6.1", - "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.26.1", - "eslint-plugin-react-hooks": "4.6.0", - "jest-location-mock": "^1.0.9", - "prettier": "2.7.1" - } + "name": "case-portal", + "version": "1.0.0", + "private": true, + "homepage": "https://www.wkspower.com", + "license": "MIT", + "dependencies": { + "@ant-design/icons": "^5.3.6", + "@emotion/react": "^11.11.4", + "@emotion/styled": "^11.11.5", + "@formio/react": "^5.3.0", + "@miragon/camunda-web-modeler": "^0.0.4", + "@mui/icons-material": "^5.15.15", + "@mui/material": "^5.15.15", + "@mui/styles": "^5.15.15", + "@mui/x-data-grid": "^7.1.1", + "@novu/notification-center": "^0.24.0", + "@reduxjs/toolkit": "^2.2.3", + "@syncfusion/ej2-react-kanban": "^20.4.42", + "@tabler/icons-react": "^3.2.0", + "babel-loader": "^9.1.3", + "bpmn-js": "^10.0.0", + "date-fns": "^3.6.0", + "dompurify": "^3.1.0", + "formiojs": "^4.19.1", + "framer-motion": "^11.0.28", + "i18next": "^23.11.1", + "keycloak-js": "^24.0.2", + "lodash": "^4.17.21", + "moment": "^2.30.1", + "prop-types": "^15.8.1", + "react": "^18.2.0", + "react-device-detect": "^2.2.3", + "react-dom": "^18.2.0", + "react-files": "^3.0.0", + "react-i18next": "^14.1.0", + "react-redux": "^9.1.0", + "react-router-dom": "^6.22.3", + "react-syntax-highlighter": "^15.5.0", + "redux": "^5.0.1", + "simplebar": "^6.2.5", + "simplebar-react": "^3.2.4" + }, + "scripts": { + "start": "webpack serve --mode=development --port 3001", + "build": "eslint --fix . && webpack --mode=production", + "test": "jest", + "lint": "eslint --fix .", + "format": "prettier --write \"**/*.{js,jsx,json,css,scss,md}\"", + "format:check": "prettier --check \"**/*.{js,jsx,json,css,scss,md}\"" + }, + "babel": { + "presets": [ + "@babel/preset-react" + ] + }, + "browserslist": { + "production": [ + ">0.2%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 1 chrome version", + "last 1 firefox version", + "last 1 safari version" + ] + }, + "devDependencies": { + "@babel/core": "^7.24.4", + "@babel/eslint-parser": "^7.24.1", + "@babel/preset-env": "^7.24.4", + "@babel/preset-react": "^7.24.1", + "@babel/preset-typescript": "^7.24.1", + "css-loader": "^7.1.1", + "dotenv-webpack": "^8.1.0", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.1", + "file-loader": "^6.2.0", + "html-webpack-plugin": "^5.6.0", + "jest-location-mock": "^2.0.0", + "prettier": "3.2.5", + "style-loader": "^4.0.0", + "webpack": "^5.91.0", + "webpack-cli": "^5.1.4", + "webpack-dev-server": "^5.0.4" + } } diff --git a/apps/react/case-portal/public/index.html b/apps/react/case-portal/public/index.html index 225cabb4..567c6211 100644 --- a/apps/react/case-portal/public/index.html +++ b/apps/react/case-portal/public/index.html @@ -1,9 +1,8 @@ - + - - + WKS Platform-Portal - + @@ -23,18 +22,25 @@ + href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&family=Open Sans:wght@400;500;700&display=swap" + rel="stylesheet" + /> - - - - - + + + + - +
- - - \ No newline at end of file + + diff --git a/apps/react/case-portal/src/App.css b/apps/react/case-portal/src/App.css index a859d52d..a56cce6d 100644 --- a/apps/react/case-portal/src/App.css +++ b/apps/react/case-portal/src/App.css @@ -1,12 +1,12 @@ -@import "../node_modules/@syncfusion/ej2-base/styles/bootstrap5.css"; +@import '../node_modules/@syncfusion/ej2-base/styles/bootstrap5.css'; @import '../node_modules/@syncfusion/ej2-buttons/styles/bootstrap5.css'; -@import "../node_modules/@syncfusion/ej2-layouts/styles/bootstrap5.css"; +@import '../node_modules/@syncfusion/ej2-layouts/styles/bootstrap5.css'; @import '../node_modules/@syncfusion/ej2-dropdowns/styles/bootstrap5.css'; @import '../node_modules/@syncfusion/ej2-inputs/styles/bootstrap5.css'; -@import "../node_modules/@syncfusion/ej2-navigations/styles/bootstrap5.css"; -@import "../node_modules/@syncfusion/ej2-popups/styles/bootstrap5.css"; -@import "../node_modules/@syncfusion/ej2-react-kanban/styles/bootstrap5.css"; +@import '../node_modules/@syncfusion/ej2-navigations/styles/bootstrap5.css'; +@import '../node_modules/@syncfusion/ej2-popups/styles/bootstrap5.css'; +@import '../node_modules/@syncfusion/ej2-react-kanban/styles/bootstrap5.css'; legend { - width: auto; -} \ No newline at end of file + width: auto; +} diff --git a/apps/react/case-portal/src/App.js b/apps/react/case-portal/src/App.js index 655c478f..4d6863e0 100644 --- a/apps/react/case-portal/src/App.js +++ b/apps/react/case-portal/src/App.js @@ -1,131 +1,130 @@ -import ScrollTop from 'components/ScrollTop'; +import ScrollTop from './components/ScrollTop'; import { useEffect, useState } from 'react'; -import { ThemeRoutes } from 'routes'; -import ThemeCustomization from 'themes'; +import { ThemeRoutes } from './routes'; +import ThemeCustomization from './themes'; import { SessionStoreProvider } from './SessionStoreContext'; import { CaseService, RecordService } from 'services'; -import menuItemsDefs from 'menu'; +import menuItemsDefs from './menu'; import { RegisterInjectUserSession, RegisteOptions } from './plugins'; import { accountStore, sessionStore } from './store'; import './App.css'; const App = () => { - const [keycloak, setKeycloak] = useState({}); - const [authenticated, setAuthenticated] = useState(null); - const [recordsTypes, setRecordsTypes] = useState([]); - const [casesDefinitions, setCasesDefinitions] = useState([]); - const [menu, setMenu] = useState({ items: [] }); - - useEffect(() => { - const { keycloak } = sessionStore.bootstrap(); - - keycloak.init({ onLoad: 'login-required' }).then((authenticated) => { - setKeycloak(keycloak); - setAuthenticated(authenticated); - buildMenuItems(keycloak); + const [keycloak, setKeycloak] = useState({}); + const [authenticated, setAuthenticated] = useState(null); + const [recordsTypes, setRecordsTypes] = useState([]); + const [casesDefinitions, setCasesDefinitions] = useState([]); + const [menu, setMenu] = useState({ items: [] }); + + useEffect(() => { + const { keycloak } = sessionStore.bootstrap(); + + keycloak.init({ onLoad: 'login-required' }).then((authenticated) => { + setKeycloak(keycloak); + setAuthenticated(authenticated); + buildMenuItems(keycloak); + RegisterInjectUserSession(keycloak); + RegisteOptions(keycloak); + forceLogoutIfUserNoMinimalRoleForSystem(keycloak); + }); + + keycloak.onAuthRefreshError = () => { + window.location.reload(); + }; + + keycloak.onTokenExpired = () => { + keycloak + .updateToken(70) + .then((refreshed) => { + if (refreshed) { + console.info('Token refreshed: ' + refreshed); RegisterInjectUserSession(keycloak); RegisteOptions(keycloak); - forceLogoutIfUserNoMinimalRoleForSystem(keycloak); + } else { + console.info( + 'Token not refreshed, valid for ' + + Math.round( + keycloak.tokenParsed.exp + + keycloak.timeSkew - + new Date().getTime() / 1000, + ) + + ' seconds', + ); + } + }) + .catch(() => { + console.error('Failed to refresh token'); }); + }; + }, []); - keycloak.onAuthRefreshError = () => { - window.location.reload(); - }; - - keycloak.onTokenExpired = () => { - - keycloak - .updateToken(70) - .then((refreshed) => { - if (refreshed) { - console.info('Token refreshed: ' + refreshed); - RegisterInjectUserSession(keycloak); - RegisteOptions(keycloak); - } else { - console.info( - 'Token not refreshed, valid for ' + - Math.round( - keycloak.tokenParsed.exp + - keycloak.timeSkew - - new Date().getTime() / 1000 - ) + - ' seconds' - ); - } - }) - .catch(() => { - console.error('Failed to refresh token'); - }); - }; - }, []); - - async function forceLogoutIfUserNoMinimalRoleForSystem(keycloak) { - if (!accountStore.hasAnyRole(keycloak)) { - return keycloak.logout({ redirectUri: window.location.origin }); - } + async function forceLogoutIfUserNoMinimalRoleForSystem(keycloak) { + if (!accountStore.hasAnyRole(keycloak)) { + return keycloak.logout({ redirectUri: window.location.origin }); } - - async function buildMenuItems(keycloak) { - const menu = { - items: [...menuItemsDefs.items] - }; - - await RecordService.getAllRecordTypes(keycloak).then((data) => { - setRecordsTypes(data); - - data.forEach((element) => { - menu.items[1].children - .filter((menu) => menu.id === 'record-list')[0] - .children.push({ - id: element.id, - title: element.id, - type: 'item', - url: '/record-list/' + element.id, - breadcrumbs: true - }); - }); - }); - - await CaseService.getCaseDefinitions(keycloak).then((data) => { - setCasesDefinitions(data); - - data.forEach((element) => { - menu.items[1].children - .filter((menu) => menu.id === 'case-list')[0] - .children.push({ - id: element.id, - title: element.name, - type: 'item', - url: '/case-list/' + element.id, - breadcrumbs: true - }); - }); - }); - - if (!accountStore.isManagerUser(keycloak)) { - delete menu.items[2]; - } - - return setMenu(menu); + } + + async function buildMenuItems(keycloak) { + const menu = { + items: [...menuItemsDefs.items], + }; + + await RecordService.getAllRecordTypes(keycloak).then((data) => { + setRecordsTypes(data); + + data.forEach((element) => { + menu.items[1].children + .filter((menu) => menu.id === 'record-list')[0] + .children.push({ + id: element.id, + title: element.id, + type: 'item', + url: '/record-list/' + element.id, + breadcrumbs: true, + }); + }); + }); + + await CaseService.getCaseDefinitions(keycloak).then((data) => { + setCasesDefinitions(data); + + data.forEach((element) => { + menu.items[1].children + .filter((menu) => menu.id === 'case-list')[0] + .children.push({ + id: element.id, + title: element.name, + type: 'item', + url: '/case-list/' + element.id, + breadcrumbs: true, + }); + }); + }); + + if (!accountStore.isManagerUser(keycloak)) { + delete menu.items[2]; } - return ( - keycloak && - authenticated && ( - - - - - - - - ) - ); + return setMenu(menu); + } + + return ( + keycloak && + authenticated && ( + + + + + + + + ) + ); }; export default App; diff --git a/apps/react/case-portal/src/SessionStoreContext.js b/apps/react/case-portal/src/SessionStoreContext.js index 80cad293..67edbb63 100644 --- a/apps/react/case-portal/src/SessionStoreContext.js +++ b/apps/react/case-portal/src/SessionStoreContext.js @@ -4,26 +4,30 @@ const SessionStoreContext = React.createContext({}); export const SessionStoreProvider = SessionStoreContext.Provider; export const SessionStoreConsumer = SessionStoreContext.Consumer; -export const withStore = (WrappedComponent) => (props) => - ( - - {(stores) => } - +export function withStore(WrappedComponent) { + function WithStoreComponent(props) { + return ( + + {(stores) => } + ); + } + return WithStoreComponent; +} export const useSession = () => { - const attrs = useContext(SessionStoreContext); - return attrs['keycloak']; + const attrs = useContext(SessionStoreContext); + return attrs['keycloak']; }; export const useMenu = () => { - const attrs = useContext(SessionStoreContext); - return attrs['menu']; + const attrs = useContext(SessionStoreContext); + return attrs['menu']; }; export const useBpmEngine = () => { - const attrs = useContext(SessionStoreContext); - return attrs['bpmEngine']; + const attrs = useContext(SessionStoreContext); + return attrs['bpmEngine']; }; export default SessionStoreContext; diff --git a/apps/react/case-portal/src/assets/images/auth/AuthBackground.js b/apps/react/case-portal/src/assets/images/auth/AuthBackground.js index 87fc5f13..cd8d693c 100644 --- a/apps/react/case-portal/src/assets/images/auth/AuthBackground.js +++ b/apps/react/case-portal/src/assets/images/auth/AuthBackground.js @@ -5,27 +5,35 @@ import { Box } from '@mui/material'; // ==============================|| AUTH BLUR BACK SVG ||============================== // const AuthBackground = () => { - const theme = useTheme(); - return ( - - - - - - - - ); + const theme = useTheme(); + return ( + + + + + + + + ); }; export default AuthBackground; diff --git a/apps/react/case-portal/src/assets/third-party/apex-chart.css b/apps/react/case-portal/src/assets/third-party/apex-chart.css deleted file mode 100644 index 94ccd2b2..00000000 --- a/apps/react/case-portal/src/assets/third-party/apex-chart.css +++ /dev/null @@ -1,4 +0,0 @@ -.apexcharts-legend-series .apexcharts-legend-marker { - left: -4px !important; - top: 2px !important; -} diff --git a/apps/react/case-portal/src/common/caseStatus.js b/apps/react/case-portal/src/common/caseStatus.js index b5368161..2efd5aa2 100644 --- a/apps/react/case-portal/src/common/caseStatus.js +++ b/apps/react/case-portal/src/common/caseStatus.js @@ -1,5 +1,5 @@ export const CaseStatus = { - WipCaseStatus: Symbol('WIP_CASE_STATUS'), - ClosedCaseStatus: Symbol('CLOSED_CASE_STATUS'), - ArchivedCaseStatus: Symbol('ARCHIVED_CASE_STATUS') + WipCaseStatus: Symbol('WIP_CASE_STATUS'), + ClosedCaseStatus: Symbol('CLOSED_CASE_STATUS'), + ArchivedCaseStatus: Symbol('ARCHIVED_CASE_STATUS'), }; diff --git a/apps/react/case-portal/src/components/@extended/AnimateButton.js b/apps/react/case-portal/src/components/@extended/AnimateButton.js index 19c465e2..481ef42c 100644 --- a/apps/react/case-portal/src/components/@extended/AnimateButton.js +++ b/apps/react/case-portal/src/components/@extended/AnimateButton.js @@ -6,24 +6,24 @@ import { motion } from 'framer-motion'; // ==============================|| ANIMATION BUTTON ||============================== // export default function AnimateButton({ children, type }) { - switch (type) { - case 'rotate': // only available in paid version - case 'slide': // only available in paid version - case 'scale': // only available in paid version - default: - return ( - - {children} - - ); - } + switch (type) { + case 'rotate': // only available in paid version + case 'slide': // only available in paid version + case 'scale': // only available in paid version + default: + return ( + + {children} + + ); + } } AnimateButton.propTypes = { - children: PropTypes.node, - type: PropTypes.oneOf(['slide', 'scale', 'rotate']) + children: PropTypes.node, + type: PropTypes.oneOf(['slide', 'scale', 'rotate']), }; AnimateButton.defaultProps = { - type: 'scale' + type: 'scale', }; diff --git a/apps/react/case-portal/src/components/@extended/Breadcrumbs.js b/apps/react/case-portal/src/components/@extended/Breadcrumbs.js index 27b27027..e65c0384 100644 --- a/apps/react/case-portal/src/components/@extended/Breadcrumbs.js +++ b/apps/react/case-portal/src/components/@extended/Breadcrumbs.js @@ -8,113 +8,117 @@ import { Grid, Typography } from '@mui/material'; import MainCard from '../MainCard'; const Breadcrumbs = ({ navigation, title, ...others }) => { - const location = useLocation(); - const [main, setMain] = useState(); - const [item, setItem] = useState(); + const location = useLocation(); + const [main, setMain] = useState(); + const [item, setItem] = useState(); - // set active item state - const getCollapse = (menu) => { - if (menu.children) { - menu.children.filter((collapse) => { - if (collapse.type && collapse.type === 'collapse') { - getCollapse(collapse); - } else if (collapse.type && collapse.type === 'item') { - if (location.pathname === collapse.url) { - setMain(menu); - setItem(collapse); - } - } - return false; - }); + // set active item state + const getCollapse = (menu) => { + if (menu.children) { + menu.children.filter((collapse) => { + if (collapse.type && collapse.type === 'collapse') { + getCollapse(collapse); + } else if (collapse.type && collapse.type === 'item') { + if (location.pathname === collapse.url) { + setMain(menu); + setItem(collapse); + } } - }; + return false; + }); + } + }; - useEffect(() => { - navigation?.items?.map((menu) => { - if (menu.type && menu.type === 'group') { - getCollapse(menu); - } - return false; - }); + useEffect(() => { + navigation?.items?.map((menu) => { + if (menu.type && menu.type === 'group') { + getCollapse(menu); + } + return false; }); + }); - // only used for component demo breadcrumbs - if (location.pathname === '/breadcrumbs') { - location.pathname = '/dashboard/analytics'; - } + // only used for component demo breadcrumbs + if (location.pathname === '/breadcrumbs') { + location.pathname = '/dashboard/analytics'; + } - let mainContent; - let itemContent; - let breadcrumbContent = ; - let itemTitle = ''; + let mainContent; + let itemContent; + let breadcrumbContent = ; + let itemTitle = ''; - // collapse item - if (main && main.type === 'collapse') { - mainContent = ( - // - - {main.title} - - ); - } + // collapse item + if (main && main.type === 'collapse') { + mainContent = ( + // + + {main.title} + + ); + } - // items - if (item && item.type === 'item') { - itemTitle = item.title; - itemContent = ( - - {itemTitle} - - ); + // items + if (item && item.type === 'item') { + itemTitle = item.title; + itemContent = ( + + {itemTitle} + + ); - // main - if (item.breadcrumbs !== false) { - breadcrumbContent = ( - + + + + - - - - - Home - - {mainContent} - {itemContent} - - - {title && ( - - {item.title} - - )} - - - ); - } + Home + + {mainContent} + {itemContent} + + + {title && ( + + {item.title} + + )} + + + ); } + } - return breadcrumbContent; + return breadcrumbContent; }; Breadcrumbs.propTypes = { - navigation: PropTypes.object, - title: PropTypes.bool + navigation: PropTypes.object, + title: PropTypes.bool, }; export default Breadcrumbs; diff --git a/apps/react/case-portal/src/components/@extended/Dot.js b/apps/react/case-portal/src/components/@extended/Dot.js index c46d068d..fe99236e 100644 --- a/apps/react/case-portal/src/components/@extended/Dot.js +++ b/apps/react/case-portal/src/components/@extended/Dot.js @@ -3,44 +3,44 @@ import { useTheme } from '@mui/material/styles'; import Box from '@mui/material/Box'; const Dot = ({ color, size }) => { - const theme = useTheme(); - let main; - switch (color) { - case 'secondary': - main = theme.palette.secondary.main; - break; - case 'error': - main = theme.palette.error.main; - break; - case 'warning': - main = theme.palette.warning.main; - break; - case 'info': - main = theme.palette.info.main; - break; - case 'success': - main = theme.palette.success.main; - break; - case 'primary': - default: - main = theme.palette.primary.main; - } + const theme = useTheme(); + let main; + switch (color) { + case 'secondary': + main = theme.palette.secondary.main; + break; + case 'error': + main = theme.palette.error.main; + break; + case 'warning': + main = theme.palette.warning.main; + break; + case 'info': + main = theme.palette.info.main; + break; + case 'success': + main = theme.palette.success.main; + break; + case 'primary': + default: + main = theme.palette.primary.main; + } - return ( - - ); + return ( + + ); }; Dot.propTypes = { - color: PropTypes.string, - size: PropTypes.number + color: PropTypes.string, + size: PropTypes.number, }; export default Dot; diff --git a/apps/react/case-portal/src/components/@extended/Transitions.js b/apps/react/case-portal/src/components/@extended/Transitions.js index 2167365f..b7bb90ae 100644 --- a/apps/react/case-portal/src/components/@extended/Transitions.js +++ b/apps/react/case-portal/src/components/@extended/Transitions.js @@ -6,64 +6,66 @@ import Grow from '@mui/material/Grow'; // ==============================|| TRANSITIONS ||============================== // -const Transitions = forwardRef(({ children, position, type, ...others }, ref) => { - let positionSX = { - transformOrigin: '0 0 0' - }; +function CreateTransitions({ children, position, type, ...others }, ref) { + let positionSX = { + transformOrigin: '0 0 0', + }; - switch (position) { - case 'top-right': - case 'top': - case 'bottom-left': - case 'bottom-right': - case 'bottom': - case 'top-left': - default: - positionSX = { - transformOrigin: '0 0 0' - }; - break; - } + switch (position) { + case 'top-right': + case 'top': + case 'bottom-left': + case 'bottom-right': + case 'bottom': + case 'top-left': + default: + positionSX = { + transformOrigin: '0 0 0', + }; + break; + } - return ( - - {type === 'grow' && ( - - {children} - - )} - {type === 'fade' && ( - - {children} - - )} - - ); -}); + return ( + + {type === 'grow' && ( + + {children} + + )} + {type === 'fade' && ( + + {children} + + )} + + ); +} + +const Transitions = forwardRef(CreateTransitions); Transitions.propTypes = { - children: PropTypes.node, - type: PropTypes.oneOf(['grow', 'fade', 'collapse', 'slide', 'zoom']), - position: PropTypes.oneOf([ - 'top-left', - 'top-right', - 'top', - 'bottom-left', - 'bottom-right', - 'bottom' - ]) + children: PropTypes.node, + type: PropTypes.oneOf(['grow', 'fade', 'collapse', 'slide', 'zoom']), + position: PropTypes.oneOf([ + 'top-left', + 'top-right', + 'top', + 'bottom-left', + 'bottom-right', + 'bottom', + ]), }; Transitions.defaultProps = { - type: 'grow', - position: 'top-left' + type: 'grow', + position: 'top-left', }; export default Transitions; diff --git a/apps/react/case-portal/src/components/Kanban/kanban.css b/apps/react/case-portal/src/components/Kanban/kanban.css index 5a4c8346..e03888fa 100644 --- a/apps/react/case-portal/src/components/Kanban/kanban.css +++ b/apps/react/case-portal/src/components/Kanban/kanban.css @@ -1,136 +1,206 @@ .kanban-overview.e-kanban .header-template-wrap { - display: inline-flex; - font-size: 15px; - font-weight: 500; + display: inline-flex; + font-size: 15px; + font-weight: 500; } .kanban-overview.e-kanban .header-template-wrap .header-icon { - font-family: 'Kanban priority icons'; - margin-top: 3px; - width: 10%; + font-family: 'Kanban priority icons'; + margin-top: 3px; + width: 10%; } .kanban-overview.e-kanban .header-template-wrap .header-text { - margin-left: 15px; + margin-left: 15px; } .kanban-overview.e-kanban.e-rtl .header-template-wrap .header-text { - margin-right: 15px; + margin-right: 15px; } .kanban-overview.e-kanban.e-rtl .e-card-avatar { - left: 12px; - right: auto; + left: 12px; + right: auto; } .kanban-overview.e-kanban .e-card-avatar { - width: 30px; - height: 30px; - text-align: center; - background-color: gainsboro; - color: #6b6b6b; - border-radius: 50%; - position: absolute; - right: 12px; - bottom: 10px; - font-size: 12px; - font-weight: 400; - padding: 10px 0px 0px 1px; + width: 30px; + height: 30px; + text-align: center; + background-color: gainsboro; + color: #6b6b6b; + border-radius: 50%; + position: absolute; + right: 12px; + bottom: 10px; + font-size: 12px; + font-weight: 400; + padding: 10px 0px 0px 1px; } .kanban-overview.e-kanban .Open::before { - content: '\e700'; - color: #0251cc; - font-size: 16px; + content: '\e700'; + color: #0251cc; + font-size: 16px; } .kanban-overview.e-kanban .InProgress::before { - content: '\e703'; - color: #ea9713; - font-size: 16px; + content: '\e703'; + color: #ea9713; + font-size: 16px; } .kanban-overview.e-kanban .e-image img { - background: #ececec; - border: 1px solid #c8c8c8; - border-radius: 50%; + background: #ececec; + border: 1px solid #c8c8c8; + border-radius: 50%; } .kanban-overview.e-kanban .Review::before { - content: '\e701'; - color: #8e4399; - font-size: 16px; + content: '\e701'; + color: #8e4399; + font-size: 16px; } .kanban-overview.e-kanban .Close::before { - content: '\e702'; - color: #63ba3c; - font-size: 16px; + content: '\e702'; + color: #63ba3c; + font-size: 16px; } .kanban-overview.e-kanban .e-card .e-card-tag-field { - background: #ececec; - color: #6b6b6b; - margin-right: 5px; - line-height: 1.1; - font-size: 13px; - border-radius: 3px; - padding: 4px; + background: #ececec; + color: #6b6b6b; + margin-right: 5px; + line-height: 1.1; + font-size: 13px; + border-radius: 3px; + padding: 4px; } .kanban-overview.e-kanban .e-card-custom-footer { - display: flex; - padding: 0px 12px 12px; - line-height: 1; - height: 35px; -} - -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Low.e-selection:hover, -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Low, -.kanban-overview.e-kanban.e-rtl .e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Low { - border-left: 3px solid #1F88E5; -} - -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.High.e-selection:hover, -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.High, -.kanban-overview.e-kanban.e-rtl .e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.High { - border-left: 3px solid #673AB8; -} - -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Normal.e-selection:hover, -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Normal, -.kanban-overview.e-kanban.e-rtl .e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Normal { - border-left: 3px solid #02897B; -} - -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Critical.e-selection:hover, -.kanban-overview.e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Critical, -.kanban-overview.e-kanban.e-rtl .e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card.Critical { - border-left: 3px solid #E64A19; -} - -.kanban-overview.e-kanban.e-rtl .e-kanban .e-kanban-content .e-content-row .e-content-cells .e-card-wrapper .e-card { - border-left: none; + display: flex; + padding: 0px 12px 12px; + line-height: 1; + height: 35px; +} + +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Low.e-selection:hover, +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Low, +.kanban-overview.e-kanban.e-rtl + .e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Low { + border-left: 3px solid #1f88e5; +} + +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.High.e-selection:hover, +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.High, +.kanban-overview.e-kanban.e-rtl + .e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.High { + border-left: 3px solid #673ab8; +} + +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Normal.e-selection:hover, +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Normal, +.kanban-overview.e-kanban.e-rtl + .e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Normal { + border-left: 3px solid #02897b; +} + +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Critical.e-selection:hover, +.kanban-overview.e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Critical, +.kanban-overview.e-kanban.e-rtl + .e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card.Critical { + border-left: 3px solid #e64a19; +} + +.kanban-overview.e-kanban.e-rtl + .e-kanban + .e-kanban-content + .e-content-row + .e-content-cells + .e-card-wrapper + .e-card { + border-left: none; } @font-face { - font-family: 'Kanban priority icons'; - src: - url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMj1tSfUAAAEoAAAAVmNtYXDnE+dkAAABlAAAADxnbHlmg4weAgAAAdwAAAhQaGVhZBfH57sAAADQAAAANmhoZWEIVQQGAAAArAAAACRobXR4FAAAAAAAAYAAAAAUbG9jYQNeBi4AAAHQAAAADG1heHABGAFgAAABCAAAACBuYW1lH65UOQAACiwAAALNcG9zdFsyKlEAAAz8AAAAUgABAAAEAAAAAFwEAAAAAAAD+AABAAAAAAAAAAAAAAAAAAAABQABAAAAAQAA7pb8lF8PPPUACwQAAAAAANpY0WMAAAAA2ljRYwAAAAAD+AP4AAAACAACAAAAAAAAAAEAAAAFAVQACQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQQAAZAABQAAAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA5wDnAwQAAAAAXAQAAAAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAACAAAAAwAAABQAAwABAAAAFAAEACgAAAAEAAQAAQAA5wP//wAA5wD//wAAAAEABAAAAAEAAgADAAQAAAAAAMwCBgKSBCgABAAAAAAD+AP4ACEAQwBlAKkAAAEfBw8HIS8HPwclHwcPByEvBz8HJR8HDwchLwc/BycRHw8hPw8RLw8hDw4CXgcGBQUEAwEBAQEDBAUFBgf+hgYGBQUEAwEBAQEDBAUFBgYCOAYGBQUEAwEBAQEDBAUFBgb9yAYGBQUEAwEBAQEDBAUFBgYCOAYGBQUEAwEBAQEDBAUFBgb9yAYGBQUEAwEBAQEDBAUFBgbcAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg39IA0ODQ0MCwoKCQgHBQUDAgFDAQEDBAUFBgYHBgUFBAMBAQEBAwQFBQYHBgYFBQQDAQG9AQEDBAUFBgcGBgUFBAMBAQEBAwQFBQYGBwYFBQQDAQG9AQEDBAUFBgYHBgUFBAMBAQEBAwQFBQYHBgYFBQQDAQGz/SANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDgAABAAAAAAD+AP4AD8AggDUARgAAAEfBw8PLw41Pw8fBicPDx8PMz8OLxAHNzMfEhUPESsBLxA9AT8UJREfDyE/DxEvDyEPDgJlCAcGBgQCAgEBAgMEBQcHCAkJCwsMDAwNDgwNDAsLCgkICAYFAwMBAQMDBQUHBwgJCQoLCwwMDA4MDAwLCgqEDg8PDw4PDw8VFBQUExMTEhUWFhYXFxgYEhMSERISEREUEBEREBESERkZGRgXFxcXEA8QEBAREREWFxYVFhUWFhIeFAsXGBkYGRkYGSATExISEhIRBQMBAgICHBkaGhscGx0UExMTExMTExoUFRQVFBUVHBoaGhkYGRkEAgIDGBQVFhYXFxcREREQEREQEQ8ODv4aAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg39IA0ODQ0MCwoKCQgHBQUDAgJXCQoKCwsMDAwNDAwMCgsJCQgHBgUEAwIBAQIDBQUHCAkJCgsMCw0MDQwLDAoLCQkJBwcGBQQCAgEBAgMEBQYIWQMEBQYGBwgJDg4PERETExUYFxUTEhAPDgkIBwUFAwEBAgIEBQYHCA0QEBMUFhcaEREQDw8NDQ0PDQsJCAYEAwEBMAIEBggJDA4PFg8PERESFBQHBwYGBgUEIBsZFhUTERAJCAYGBAMCAgQFBggJChAREhUWGBoeCAUFBAYHGxcVFBMREQ8KCQgHBgYEBAMCAYT9IA0ODQ0MCwoKCQgHBQUDAgEBAgMFBQcICQoKCwwNDQ4NAuANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0OAAIAAAAAA/gD+AArAG8AAAEfAhUPAwEPAy8INT8GMx8DAT8DHwIlER8PIT8PES8PIQ8OAvMEAwIBAQME/r8FBQYGBgYFBXkEAwEBAgMEBQUGBgYGBgViASoFBgYGBgYF/RoBAgMFBQcICQoKCwwNDQ4NAuANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0ODf0gDQ4NDQwLCgoJCAcFBQMCArQFBgYGBgYFBf7FBAMBAQEBAwR2BQUGBgYGBgUEAwEBAgMEYAElBAMBAQEBA7j9IA0ODQ0MCwoKCQgHBQUDAgEBAgMFBQcICQoKCwwNDQ4NAuANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0OAAAJAAAAAAP4A/gAIQBDAGUAhwCpAMsA7QEPAVMAAAEVDwcvBzU/Bx8GNx8EDwYrAS8GPQE/BTsBHwEFHwMPBysBLwU9AT8GOwEfASUfBw8HIy8HPwchHwcPByMvBz8HJR8DDwcrAS8FPQE/BjsBHwEFHwMdAQ8FKwEvBz8GOwEfASUVDwcvBzU/Bx8GJREfDyE/DxEvDyEPDgIgAQIDBAQGBgYGBgYEBAMCAQECAwQEBgYGBgYGBAQDAopiBAMCAQECAwQFBQYGBgYFBWIEAwICAwQFBQYGBgYF/t8EAwIBAQIDBGIFBQYGBgYFBQQDAgIDBGIFBQYGBgYFAdwHBgUFBAMBAQEBAwQFBQYHigYGBgQEAwIBAQIDBAQGBgb+YAYGBgQEAwIBAQIDBAQGBgaKBwYFBQQDAQEBAQMEBQUGBwJlBAMCAQECAwRiBQUGBgYGBQUEAwICAwRiBQUGBgYGBf4bYgQDAgIDBAUFBgYGBgUFYgQDAgEBAgMEBQUGBgYGBQEEAQIDBAQGBgYGBgYEBAMCAQECAwQEBgYGBgYGBAQDAv3pAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg39IA0ODQ0MCwoKCQgHBQUDAgEwigcGBQUEAwEBAQEDBAUFBgeKBgYGBAQDAgEBAgMEBAYGTWIFBQYGBgYFBQQDAgIDBGIFBQYGBgYFBQQDAgIDBAUFBgYGBgUFYgQDAgIDBAUFBgYGBgUFYgQDAgIDmQECAwQEBgYGBgYGBAQDAgEBAgMEBAYGBgYGBgQEAwIBAQIDBAQGBgYGBgYEBAMCAQECAwQEBgYGBgYGBAQDAgHrBQUGBgYGBQViBAMCAgMEBQUGBgYGBQViBAMCAgMEYgUFBgYGBgUFBAMCAgMEYgUFBgYGBgUFBAMCAgNLigYGBgQEAwIBAQIDBAQGBgaKBwYFBQQDAQEBAQMEBQUGD/0gDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg0C4A0ODQ0MCwoKCQgHBQUDAgEBAgMFBQcICQoKCwwNDQ4AAAAAEgDeAAEAAAAAAAAAAQAAAAEAAAAAAAEAFQABAAEAAAAAAAIABwAWAAEAAAAAAAMAFQAdAAEAAAAAAAQAFQAyAAEAAAAAAAUACwBHAAEAAAAAAAYAFQBSAAEAAAAAAAoALABnAAEAAAAAAAsAEgCTAAMAAQQJAAAAAgClAAMAAQQJAAEAKgCnAAMAAQQJAAIADgDRAAMAAQQJAAMAKgDfAAMAAQQJAAQAKgEJAAMAAQQJAAUAFgEzAAMAAQQJAAYAKgFJAAMAAQQJAAoAWAFzAAMAAQQJAAsAJAHLIEthbmJhbiBwcmlvcml0eSBpY29uc1JlZ3VsYXJLYW5iYW4gcHJpb3JpdHkgaWNvbnNLYW5iYW4gcHJpb3JpdHkgaWNvbnNWZXJzaW9uIDEuMEthbmJhbiBwcmlvcml0eSBpY29uc0ZvbnQgZ2VuZXJhdGVkIHVzaW5nIFN5bmNmdXNpb24gTWV0cm8gU3R1ZGlvd3d3LnN5bmNmdXNpb24uY29tACAASwBhAG4AYgBhAG4AIABwAHIAaQBvAHIAaQB0AHkAIABpAGMAbwBuAHMAUgBlAGcAdQBsAGEAcgBLAGEAbgBiAGEAbgAgAHAAcgBpAG8AcgBpAHQAeQAgAGkAYwBvAG4AcwBLAGEAbgBiAGEAbgAgAHAAcgBpAG8AcgBpAHQAeQAgAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAASwBhAG4AYgBhAG4AIABwAHIAaQBvAHIAaQB0AHkAIABpAGMAbwBuAHMARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAdQBzAGkAbgBnACAAUwB5AG4AYwBmAHUAcwBpAG8AbgAgAE0AZQB0AHIAbwAgAFMAdAB1AGQAaQBvAHcAdwB3AC4AcwB5AG4AYwBmAHUAcwBpAG8AbgAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQECAQMBBAEFAQYACFRvZG9saXN0BlJldmlldwlDb21wbGV0ZWQIUHJvZ3Jlc3MAAAAA) format('truetype'); - font-weight: normal; - font-style: normal; -} - -[class^="sf-icon-"], -[class*=" sf-icon-"] { - font-family: 'Kanban priority icons' !important; - speak: none; - font-size: 55px; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} \ No newline at end of file + font-family: 'Kanban priority icons'; + src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAAKAIAAAwAgT1MvMj1tSfUAAAEoAAAAVmNtYXDnE+dkAAABlAAAADxnbHlmg4weAgAAAdwAAAhQaGVhZBfH57sAAADQAAAANmhoZWEIVQQGAAAArAAAACRobXR4FAAAAAAAAYAAAAAUbG9jYQNeBi4AAAHQAAAADG1heHABGAFgAAABCAAAACBuYW1lH65UOQAACiwAAALNcG9zdFsyKlEAAAz8AAAAUgABAAAEAAAAAFwEAAAAAAAD+AABAAAAAAAAAAAAAAAAAAAABQABAAAAAQAA7pb8lF8PPPUACwQAAAAAANpY0WMAAAAA2ljRYwAAAAAD+AP4AAAACAACAAAAAAAAAAEAAAAFAVQACQAAAAAAAgAAAAoACgAAAP8AAAAAAAAAAQQAAZAABQAAAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA5wDnAwQAAAAAXAQAAAAAAAABAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAACAAAAAwAAABQAAwABAAAAFAAEACgAAAAEAAQAAQAA5wP//wAA5wD//wAAAAEABAAAAAEAAgADAAQAAAAAAMwCBgKSBCgABAAAAAAD+AP4ACEAQwBlAKkAAAEfBw8HIS8HPwclHwcPByEvBz8HJR8HDwchLwc/BycRHw8hPw8RLw8hDw4CXgcGBQUEAwEBAQEDBAUFBgf+hgYGBQUEAwEBAQEDBAUFBgYCOAYGBQUEAwEBAQEDBAUFBgb9yAYGBQUEAwEBAQEDBAUFBgYCOAYGBQUEAwEBAQEDBAUFBgb9yAYGBQUEAwEBAQEDBAUFBgbcAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg39IA0ODQ0MCwoKCQgHBQUDAgFDAQEDBAUFBgYHBgUFBAMBAQEBAwQFBQYHBgYFBQQDAQG9AQEDBAUFBgcGBgUFBAMBAQEBAwQFBQYGBwYFBQQDAQG9AQEDBAUFBgYHBgUFBAMBAQEBAwQFBQYHBgYFBQQDAQGz/SANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDgAABAAAAAAD+AP4AD8AggDUARgAAAEfBw8PLw41Pw8fBicPDx8PMz8OLxAHNzMfEhUPESsBLxA9AT8UJREfDyE/DxEvDyEPDgJlCAcGBgQCAgEBAgMEBQcHCAkJCwsMDAwNDgwNDAsLCgkICAYFAwMBAQMDBQUHBwgJCQoLCwwMDA4MDAwLCgqEDg8PDw4PDw8VFBQUExMTEhUWFhYXFxgYEhMSERISEREUEBEREBESERkZGRgXFxcXEA8QEBAREREWFxYVFhUWFhIeFAsXGBkYGRkYGSATExISEhIRBQMBAgICHBkaGhscGx0UExMTExMTExoUFRQVFBUVHBoaGhkYGRkEAgIDGBQVFhYXFxcREREQEREQEQ8ODv4aAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg39IA0ODQ0MCwoKCQgHBQUDAgJXCQoKCwsMDAwNDAwMCgsJCQgHBgUEAwIBAQIDBQUHCAkJCgsMCw0MDQwLDAoLCQkJBwcGBQQCAgEBAgMEBQYIWQMEBQYGBwgJDg4PERETExUYFxUTEhAPDgkIBwUFAwEBAgIEBQYHCA0QEBMUFhcaEREQDw8NDQ0PDQsJCAYEAwEBMAIEBggJDA4PFg8PERESFBQHBwYGBgUEIBsZFhUTERAJCAYGBAMCAgQFBggJChAREhUWGBoeCAUFBAYHGxcVFBMREQ8KCQgHBgYEBAMCAYT9IA0ODQ0MCwoKCQgHBQUDAgEBAgMFBQcICQoKCwwNDQ4NAuANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0OAAIAAAAAA/gD+AArAG8AAAEfAhUPAwEPAy8INT8GMx8DAT8DHwIlER8PIT8PES8PIQ8OAvMEAwIBAQME/r8FBQYGBgYFBXkEAwEBAgMEBQUGBgYGBgViASoFBgYGBgYF/RoBAgMFBQcICQoKCwwNDQ4NAuANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0ODf0gDQ4NDQwLCgoJCAcFBQMCArQFBgYGBgYFBf7FBAMBAQEBAwR2BQUGBgYGBgUEAwEBAgMEYAElBAMBAQEBA7j9IA0ODQ0MCwoKCQgHBQUDAgEBAgMFBQcICQoKCwwNDQ4NAuANDg0NDAsKCgkIBwUFAwIBAQIDBQUHCAkKCgsMDQ0OAAAJAAAAAAP4A/gAIQBDAGUAhwCpAMsA7QEPAVMAAAEVDwcvBzU/Bx8GNx8EDwYrAS8GPQE/BTsBHwEFHwMPBysBLwU9AT8GOwEfASUfBw8HIy8HPwchHwcPByMvBz8HJR8DDwcrAS8FPQE/BjsBHwEFHwMdAQ8FKwEvBz8GOwEfASUVDwcvBzU/Bx8GJREfDyE/DxEvDyEPDgIgAQIDBAQGBgYGBgYEBAMCAQECAwQEBgYGBgYGBAQDAopiBAMCAQECAwQFBQYGBgYFBWIEAwICAwQFBQYGBgYF/t8EAwIBAQIDBGIFBQYGBgYFBQQDAgIDBGIFBQYGBgYFAdwHBgUFBAMBAQEBAwQFBQYHigYGBgQEAwIBAQIDBAQGBgb+YAYGBgQEAwIBAQIDBAQGBgaKBwYFBQQDAQEBAQMEBQUGBwJlBAMCAQECAwRiBQUGBgYGBQUEAwICAwRiBQUGBgYGBf4bYgQDAgIDBAUFBgYGBgUFYgQDAgEBAgMEBQUGBgYGBQEEAQIDBAQGBgYGBgYEBAMCAQECAwQEBgYGBgYGBAQDAv3pAQIDBQUHCAkKCgsMDQ0ODQLgDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg39IA0ODQ0MCwoKCQgHBQUDAgEwigcGBQUEAwEBAQEDBAUFBgeKBgYGBAQDAgEBAgMEBAYGTWIFBQYGBgYFBQQDAgIDBGIFBQYGBgYFBQQDAgIDBAUFBgYGBgUFYgQDAgIDBAUFBgYGBgUFYgQDAgIDmQECAwQEBgYGBgYGBAQDAgEBAgMEBAYGBgYGBgQEAwIBAQIDBAQGBgYGBgYEBAMCAQECAwQEBgYGBgYGBAQDAgHrBQUGBgYGBQViBAMCAgMEBQUGBgYGBQViBAMCAgMEYgUFBgYGBgUFBAMCAgMEYgUFBgYGBgUFBAMCAgNLigYGBgQEAwIBAQIDBAQGBgaKBwYFBQQDAQEBAQMEBQUGD/0gDQ4NDQwLCgoJCAcFBQMCAQECAwUFBwgJCgoLDA0NDg0C4A0ODQ0MCwoKCQgHBQUDAgEBAgMFBQcICQoKCwwNDQ4AAAAAEgDeAAEAAAAAAAAAAQAAAAEAAAAAAAEAFQABAAEAAAAAAAIABwAWAAEAAAAAAAMAFQAdAAEAAAAAAAQAFQAyAAEAAAAAAAUACwBHAAEAAAAAAAYAFQBSAAEAAAAAAAoALABnAAEAAAAAAAsAEgCTAAMAAQQJAAAAAgClAAMAAQQJAAEAKgCnAAMAAQQJAAIADgDRAAMAAQQJAAMAKgDfAAMAAQQJAAQAKgEJAAMAAQQJAAUAFgEzAAMAAQQJAAYAKgFJAAMAAQQJAAoAWAFzAAMAAQQJAAsAJAHLIEthbmJhbiBwcmlvcml0eSBpY29uc1JlZ3VsYXJLYW5iYW4gcHJpb3JpdHkgaWNvbnNLYW5iYW4gcHJpb3JpdHkgaWNvbnNWZXJzaW9uIDEuMEthbmJhbiBwcmlvcml0eSBpY29uc0ZvbnQgZ2VuZXJhdGVkIHVzaW5nIFN5bmNmdXNpb24gTWV0cm8gU3R1ZGlvd3d3LnN5bmNmdXNpb24uY29tACAASwBhAG4AYgBhAG4AIABwAHIAaQBvAHIAaQB0AHkAIABpAGMAbwBuAHMAUgBlAGcAdQBsAGEAcgBLAGEAbgBiAGEAbgAgAHAAcgBpAG8AcgBpAHQAeQAgAGkAYwBvAG4AcwBLAGEAbgBiAGEAbgAgAHAAcgBpAG8AcgBpAHQAeQAgAGkAYwBvAG4AcwBWAGUAcgBzAGkAbwBuACAAMQAuADAASwBhAG4AYgBhAG4AIABwAHIAaQBvAHIAaQB0AHkAIABpAGMAbwBuAHMARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAdQBzAGkAbgBnACAAUwB5AG4AYwBmAHUAcwBpAG8AbgAgAE0AZQB0AHIAbwAgAFMAdAB1AGQAaQBvAHcAdwB3AC4AcwB5AG4AYwBmAHUAcwBpAG8AbgAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQECAQMBBAEFAQYACFRvZG9saXN0BlJldmlldwlDb21wbGV0ZWQIUHJvZ3Jlc3MAAAAA) + format('truetype'); + font-weight: normal; + font-style: normal; +} + +[class^='sf-icon-'], +[class*=' sf-icon-'] { + font-family: 'Kanban priority icons' !important; + speak: none; + font-size: 55px; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/apps/react/case-portal/src/components/Kanban/kanban.js b/apps/react/case-portal/src/components/Kanban/kanban.js index b3444c4f..3859eac6 100644 --- a/apps/react/case-portal/src/components/Kanban/kanban.js +++ b/apps/react/case-portal/src/components/Kanban/kanban.js @@ -1,85 +1,133 @@ import './kanban.css'; -import * as React from 'react'; import { extend, addClass } from '@syncfusion/ej2-base'; -import { KanbanComponent, ColumnsDirective, ColumnDirective } from "@syncfusion/ej2-react-kanban"; +import { + KanbanComponent, + ColumnsDirective, + ColumnDirective, +} from '@syncfusion/ej2-react-kanban'; import { registerLicense } from '@syncfusion/ej2-base'; import Link from '@mui/material/Link'; -export const Kanban = ({ stages, cases, caseDefId, kanbanConfig, setACase, setOpenCaseForm }) => { - registerLicense('ORg4AjUWIQA/Gnt2VVhkQlFadVdJXGFWfVJpTGpQdk5xdV9DaVZUTWY/P1ZhSXxQdkdiX39adXNWRGZYVkw='); +export const Kanban = ({ + stages, + cases, + caseDefId, + kanbanConfig, + setACase, + setOpenCaseForm, +}) => { + registerLicense( + 'ORg4AjUWIQA/Gnt2VVhkQlFadVdJXGFWfVJpTGpQdk5xdV9DaVZUTWY/P1ZhSXxQdkdiX39adXNWRGZYVkw=', + ); - let data = extend([], cases, null, true); + let data = extend([], cases, null, true); - function cardRendered(args) { - let val = "Low"; - addClass([args.element], val); - } + function cardRendered(args) { + let val = 'Low'; + addClass([args.element], val); + } - function columnTemplate(props) { - return (
-
-
{props.headerText}
-
); - } + function columnTemplate(props) { + return ( +
+
+
{props.headerText}
+
+ ); + } - function cardTemplate(props) { - // card css styling docs: https://ej2.syncfusion.com/angular/documentation/card/style + function cardTemplate(props) { + // card css styling docs: https://ej2.syncfusion.com/angular/documentation/card/style - let title = kanbanConfig?.title; - let content = kanbanConfig?.content; + let title = kanbanConfig?.title; + let content = kanbanConfig?.content; - return (
-
-
-
- { - setACase({ - businessKey: props.businessKey, - caseDefinitionId: caseDefId, - }); - e.stopPropagation(); - setOpenCaseForm(true); - }} - > - {props.businessKey} - -
- -
- {title?.map(attributeName => { return props.attributes.find(o => o.name === attributeName)?.value }).join(" ")} -
-
-
-
-
- {content?.map(attributeName => { return props.attributes.find(o => o.name === attributeName)?.value }).join(" ")} -
-
-
-
{props.statusDescription}
+ return ( +
+
+
+
+ { + setACase({ + businessKey: props.businessKey, + caseDefinitionId: caseDefId, + }); + e.stopPropagation(); + setOpenCaseForm(true); + }} + > + {props.businessKey} +
-
); - } +
+ {title + ?.map((attributeName) => { + return props.attributes.find((o) => o.name === attributeName) + ?.value; + }) + .join(' ')} +
+
+
+
+
+ {content + ?.map((attributeName) => { + return props.attributes.find((o) => o.name === attributeName) + ?.value; + }) + .join(' ')} +
+
+
+
+ {props.statusDescription} +
+
+
+ ); + } - function DialogOpen(args) { - args.cancel = true; - } + function DialogOpen(args) { + args.cancel = true; + } - return (
-
-
- - - {stages.map(stage => { - return ; - })} - - -
+ return ( +
+
+
+ + + {stages.map((stage) => { + return ( + + ); + })} + +
-
); -} \ No newline at end of file +
+
+ ); +}; diff --git a/apps/react/case-portal/src/components/Loadable.js b/apps/react/case-portal/src/components/Loadable.js index 2677f550..49bda4ec 100644 --- a/apps/react/case-portal/src/components/Loadable.js +++ b/apps/react/case-portal/src/components/Loadable.js @@ -1,11 +1,14 @@ import { Suspense } from 'react'; import Loader from './Loader'; -const Loadable = (Component) => (props) => - ( - }> - - +function Loadable(Component) { + return function LoadableComponent(props) { + return ( + }> + + ); + }; +} export default Loadable; diff --git a/apps/react/case-portal/src/components/Loader.js b/apps/react/case-portal/src/components/Loader.js index 43e79c1a..8ba0e577 100644 --- a/apps/react/case-portal/src/components/Loader.js +++ b/apps/react/case-portal/src/components/Loader.js @@ -4,22 +4,22 @@ import LinearProgress from '@mui/material/LinearProgress'; // loader style const LoaderWrapper = styled('div')(({ theme }) => ({ - position: 'fixed', - top: 0, - left: 0, - zIndex: 2001, - width: '100%', - '& > * + *': { - marginTop: theme.spacing(2) - } + position: 'fixed', + top: 0, + left: 0, + zIndex: 2001, + width: '100%', + '& > * + *': { + marginTop: theme.spacing(2), + }, })); // ==============================|| Loader ||============================== // const Loader = () => ( - - - + + + ); export default Loader; diff --git a/apps/react/case-portal/src/components/Logo/Logo.js b/apps/react/case-portal/src/components/Logo/Logo.js index d754f78d..c9c09b1d 100644 --- a/apps/react/case-portal/src/components/Logo/Logo.js +++ b/apps/react/case-portal/src/components/Logo/Logo.js @@ -2,50 +2,54 @@ import { useTheme } from '@mui/material/styles'; import logo from 'assets/images/logo.svg'; const Logo = () => { - const theme = useTheme(); + const theme = useTheme(); - return ( - <> - WKS Power + return ( + <> + WKS Power - - - - - - - - - - - - - - ); + + + + + + + + + + + + + + ); }; export default Logo; diff --git a/apps/react/case-portal/src/components/Logo/index.js b/apps/react/case-portal/src/components/Logo/index.js index a676f5ba..3ff9668d 100644 --- a/apps/react/case-portal/src/components/Logo/index.js +++ b/apps/react/case-portal/src/components/Logo/index.js @@ -7,14 +7,19 @@ import config from 'config'; // ==============================|| MAIN LOGO ||============================== // const LogoSection = ({ sx, to }) => ( - - - + + + ); LogoSection.propTypes = { - sx: PropTypes.object, - to: PropTypes.string + sx: PropTypes.object, + to: PropTypes.string, }; export default LogoSection; diff --git a/apps/react/case-portal/src/components/MainCard.js b/apps/react/case-portal/src/components/MainCard.js index b86fa3f1..295dcf8e 100644 --- a/apps/react/case-portal/src/components/MainCard.js +++ b/apps/react/case-portal/src/components/MainCard.js @@ -10,115 +10,115 @@ import Highlighter from './third-party/Highlighter'; // header style const headerSX = { - p: 2.5, - '& .MuiCardHeader-action': { m: '0px auto', alignSelf: 'center' } + p: 2.5, + '& .MuiCardHeader-action': { m: '0px auto', alignSelf: 'center' }, }; // ==============================|| CUSTOM - MAIN CARD ||============================== // -const MainCard = forwardRef( - ( - { - border = true, - boxShadow, - children, - content = true, - contentSX = {}, - darkTitle, - divider = true, - elevation, - secondary, - shadow, - sx = {}, - title, - codeHighlight, - ...others +function CreateMainCard( + { + border = true, + boxShadow, + children, + content = true, + contentSX = {}, + darkTitle, + divider = true, + elevation, + secondary, + shadow, + sx = {}, + title, + codeHighlight, + ...others + }, + ref, +) { + const theme = useTheme(); + boxShadow = theme.palette.mode === 'dark' ? boxShadow || true : boxShadow; + + return ( + { - const theme = useTheme(); - boxShadow = theme.palette.mode === 'dark' ? boxShadow || true : boxShadow; + }} + > + {/* card header and action */} + {!darkTitle && title && ( + + )} + {darkTitle && title && ( + {title}} + action={secondary} + /> + )} - return ( - - {/* card header and action */} - {!darkTitle && title && ( - - )} - {darkTitle && title && ( - {title}} - action={secondary} - /> - )} + {/* content & header divider */} + {title && divider && } - {/* content & header divider */} - {title && divider && } + {/* card content */} + {content && {children}} + {!content && children} - {/* card content */} - {content && {children}} - {!content && children} + {/* card footer - clipboard & highlighter */} + {codeHighlight && ( + <> + + + {children} + + + )} + + ); +} - {/* card footer - clipboard & highlighter */} - {codeHighlight && ( - <> - - - {children} - - - )} - - ); - } -); +const MainCard = forwardRef(CreateMainCard); MainCard.propTypes = { - border: PropTypes.bool, - boxShadow: PropTypes.bool, - contentSX: PropTypes.object, - darkTitle: PropTypes.bool, - divider: PropTypes.bool, - elevation: PropTypes.number, - secondary: PropTypes.node, - shadow: PropTypes.string, - sx: PropTypes.object, - title: PropTypes.string, - codeHighlight: PropTypes.bool, - content: PropTypes.bool, - children: PropTypes.node + border: PropTypes.bool, + boxShadow: PropTypes.bool, + contentSX: PropTypes.object, + darkTitle: PropTypes.bool, + divider: PropTypes.bool, + elevation: PropTypes.number, + secondary: PropTypes.node, + shadow: PropTypes.string, + sx: PropTypes.object, + title: PropTypes.string, + codeHighlight: PropTypes.bool, + content: PropTypes.bool, + children: PropTypes.node, }; export default MainCard; diff --git a/apps/react/case-portal/src/components/ScrollTop.js b/apps/react/case-portal/src/components/ScrollTop.js index 0a8e1c09..a1d89cbf 100644 --- a/apps/react/case-portal/src/components/ScrollTop.js +++ b/apps/react/case-portal/src/components/ScrollTop.js @@ -3,22 +3,22 @@ import { useEffect } from 'react'; import { useLocation } from 'react-router-dom'; const ScrollTop = ({ children }) => { - const location = useLocation(); - const { pathname } = location; + const location = useLocation(); + const { pathname } = location; - useEffect(() => { - window.scrollTo({ - top: 0, - left: 0, - behavior: 'smooth' - }); - }, [pathname]); + useEffect(() => { + window.scrollTo({ + top: 0, + left: 0, + behavior: 'smooth', + }); + }, [pathname]); - return children || null; + return children || null; }; ScrollTop.propTypes = { - children: PropTypes.node + children: PropTypes.node, }; export default ScrollTop; diff --git a/apps/react/case-portal/src/components/cards/AuthFooter.js b/apps/react/case-portal/src/components/cards/AuthFooter.js index 43ea62f9..2de1602c 100644 --- a/apps/react/case-portal/src/components/cards/AuthFooter.js +++ b/apps/react/case-portal/src/components/cards/AuthFooter.js @@ -5,68 +5,68 @@ import Typography from '@mui/material/Typography'; import Stack from '@mui/material/Stack'; const AuthFooter = () => { - const matchDownSM = useMediaQuery((theme) => theme.breakpoints.down('sm')); + const matchDownSM = useMediaQuery((theme) => theme.breakpoints.down('sm')); - return ( - - - - © Mantis React Dashboard Template By  - - CodedThemes - - + return ( + + + + © Mantis React Dashboard Template By  + + CodedThemes + + - - - MUI Templates - - - Privacy Policy - - - Support - - - - - ); + + + MUI Templates + + + Privacy Policy + + + Support + + + + + ); }; export default AuthFooter; diff --git a/apps/react/case-portal/src/components/cards/DashboardCard.js b/apps/react/case-portal/src/components/cards/DashboardCard.js index 43063800..532d80fa 100644 --- a/apps/react/case-portal/src/components/cards/DashboardCard.js +++ b/apps/react/case-portal/src/components/cards/DashboardCard.js @@ -9,23 +9,23 @@ import MainCard from 'components/MainCard'; // assets const DashboardCard = ({ title, subtitle, to, icon }) => ( - - - - - {title} - - - {icon} - - - - - {subtitle} - - - - + + + + + {title} + + + {icon} + + + + + {subtitle} + + + + ); export default DashboardCard; diff --git a/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js b/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js index 4ef67ac5..ea24eaf9 100644 --- a/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js +++ b/apps/react/case-portal/src/components/cards/statistics/AnalyticEcommerce.js @@ -8,72 +8,79 @@ import MainCard from 'components/MainCard'; import RiseOutlined from '@ant-design/icons/RiseOutlined'; import FallOutlined from '@ant-design/icons/FallOutlined'; -const AnalyticEcommerce = ({ color, title, count, percentage, isLoss, extra }) => ( - - - - {title} - - - - - {count} - - - {percentage && ( - - - {!isLoss && ( - - )} - {isLoss && ( - - )} - - } - label={`${percentage}%`} - sx={{ ml: 1.25, pl: 1 }} - size="small" - /> - - )} - - - - - You made an extra{' '} - - {extra} - {' '} - this year - - - +const AnalyticEcommerce = ({ + color, + title, + count, + percentage, + isLoss, + extra, +}) => ( + + + + {title} + + + + + {count} + + + {percentage && ( + + + {!isLoss && ( + + )} + {isLoss && ( + + )} + + } + label={`${percentage}%`} + sx={{ ml: 1.25, pl: 1 }} + size='small' + /> + + )} + + + + + You made an extra{' '} + + {extra} + {' '} + this year + + + ); AnalyticEcommerce.propTypes = { - color: PropTypes.string, - title: PropTypes.string, - count: PropTypes.string, - percentage: PropTypes.number, - isLoss: PropTypes.bool, - extra: PropTypes.oneOfType([PropTypes.node, PropTypes.string]) + color: PropTypes.string, + title: PropTypes.string, + count: PropTypes.string, + percentage: PropTypes.number, + isLoss: PropTypes.bool, + extra: PropTypes.oneOfType([PropTypes.node, PropTypes.string]), }; AnalyticEcommerce.defaultProps = { - color: 'primary' + color: 'primary', }; export default AnalyticEcommerce; diff --git a/apps/react/case-portal/src/components/third-party/Highlighter.js b/apps/react/case-portal/src/components/third-party/Highlighter.js index 48f03c61..a2c878e4 100644 --- a/apps/react/case-portal/src/components/third-party/Highlighter.js +++ b/apps/react/case-portal/src/components/third-party/Highlighter.js @@ -11,50 +11,57 @@ import CodeOutlined from '@ant-design/icons/CodeOutlined'; // ==============================|| CLIPBOARD & HIGHLIGHTER ||============================== // -const Highlighter = ({ children }) => { - const [highlight, setHighlight] = useState(false); +const Highlighter = () => { + const [highlight, setHighlight] = useState(false); - return ( - - - - {/* + return ( + + + + {/* */} - - - setHighlight(!highlight)} - > - - - - - - - {highlight && ( - - {/* {reactElementToJSXString(children, { + + + setHighlight(!highlight)} + > + + + + + + + {highlight && ( + + {/* {reactElementToJSXString(children, { showFunctions: true, showDefaultProps: false, maxInlineAttributesLineLength: 100 })} */} - - )} - - - ); + + )} + + + ); }; Highlighter.propTypes = { - children: PropTypes.node + children: PropTypes.node, }; export default Highlighter; diff --git a/apps/react/case-portal/src/components/third-party/SimpleBar.js b/apps/react/case-portal/src/components/third-party/SimpleBar.js index 5967ba28..6b210254 100644 --- a/apps/react/case-portal/src/components/third-party/SimpleBar.js +++ b/apps/react/case-portal/src/components/third-party/SimpleBar.js @@ -6,53 +6,53 @@ import { BrowserView, MobileView } from 'react-device-detect'; // root style const RootStyle = styled(BrowserView)({ - flexGrow: 1, - height: '100%', - overflow: 'hidden' + flexGrow: 1, + height: '100%', + overflow: 'hidden', }); // scroll bar wrapper const SimpleBarStyle = styled(SimpleBar)(({ theme }) => ({ - maxHeight: '100%', - '& .simplebar-scrollbar': { - '&:before': { - backgroundColor: alpha(theme.palette.grey[500], 0.48) - }, - '&.simplebar-visible:before': { - opacity: 1 - } + maxHeight: '100%', + '& .simplebar-scrollbar': { + '&:before': { + backgroundColor: alpha(theme.palette.grey[500], 0.48), }, - '& .simplebar-track.simplebar-vertical': { - width: 10 + '&.simplebar-visible:before': { + opacity: 1, }, - '& .simplebar-track.simplebar-horizontal .simplebar-scrollbar': { - height: 6 - }, - '& .simplebar-mask': { - zIndex: 'inherit' - } + }, + '& .simplebar-track.simplebar-vertical': { + width: 10, + }, + '& .simplebar-track.simplebar-horizontal .simplebar-scrollbar': { + height: 6, + }, + '& .simplebar-mask': { + zIndex: 'inherit', + }, })); // ==============================|| SIMPLE SCROLL BAR ||============================== // export default function SimpleBarScroll({ children, sx, ...other }) { - return ( - <> - - - {children} - - - - - {children} - - - - ); + return ( + <> + + + {children} + + + + + {children} + + + + ); } SimpleBarScroll.propTypes = { - children: PropTypes.node, - sx: PropTypes.object + children: PropTypes.node, + sx: PropTypes.object, }; diff --git a/apps/react/case-portal/src/config.js b/apps/react/case-portal/src/config.js index 3cec5c20..e2db3ebe 100644 --- a/apps/react/case-portal/src/config.js +++ b/apps/react/case-portal/src/config.js @@ -1,13 +1,13 @@ const config = { - basename: '/', - defaultPath: '/home', - fontFamily: `'Public Sans', sans-serif`, - i18n: 'en', - miniDrawer: false, - container: true, - mode: 'light', - presetColor: 'default', - themeDirection: 'ltr' + basename: '/', + defaultPath: '/home', + fontFamily: '\'Public Sans\', sans-serif', + i18n: 'en', + miniDrawer: false, + container: true, + mode: 'light', + presetColor: 'default', + themeDirection: 'ltr', }; export default config; diff --git a/apps/react/case-portal/src/consts/index.js b/apps/react/case-portal/src/consts/index.js index e70e361f..d6277b1d 100644 --- a/apps/react/case-portal/src/consts/index.js +++ b/apps/react/case-portal/src/consts/index.js @@ -1,31 +1,36 @@ const Config = { - CaseEngineUrl: process.env.REACT_APP_API_URL, - LoginUrl: process.env.REACT_APP_KEYCLOAK_URL, - StorageUrl: process.env.REACT_APP_STORAGE_URL, - WebsocketsEnabled: process.env.REACT_APP_WEBSOCKETS_ENABLED === 'true' || false, - WebsocketUrl: process.env.REACT_APP_WEBSOCKETS_URL, - WebsocketsTopicCaseCreated: process.env.REACT_APP_WEBSOCKETS_CASE_CREATED, - WebsocketsTopicHumanTaskCreated: process.env.REACT_APP_WEBSOCKETS_HUMAN_TASK_CREATED, - NovuEnabled: process.env.REACT_APP_NOVU_ENABLED === 'true' || false, - NovuPublisherApiUrl: process.env.REACT_APP_NOVU_PUBLISHER_API_URL, - NovuAppId: process.env.REACT_APP_NOVU_ENABLED === 'true' ? await fetchNovuAppId() : undefined, + CaseEngineUrl: process.env.REACT_APP_API_URL, + LoginUrl: process.env.REACT_APP_KEYCLOAK_URL, + StorageUrl: process.env.REACT_APP_STORAGE_URL, + WebsocketsEnabled: + process.env.REACT_APP_WEBSOCKETS_ENABLED === 'true' || false, + WebsocketUrl: process.env.REACT_APP_WEBSOCKETS_URL, + WebsocketsTopicCaseCreated: process.env.REACT_APP_WEBSOCKETS_CASE_CREATED, + WebsocketsTopicHumanTaskCreated: + process.env.REACT_APP_WEBSOCKETS_HUMAN_TASK_CREATED, + NovuEnabled: process.env.REACT_APP_NOVU_ENABLED === 'true' || false, + NovuPublisherApiUrl: process.env.REACT_APP_NOVU_PUBLISHER_API_URL, + NovuAppId: + process.env.REACT_APP_NOVU_ENABLED === 'true' + ? await fetchNovuAppId() + : undefined, }; async function fetchNovuAppId() { - try { - const apiUrl = `${process.env.REACT_APP_NOVU_PUBLISHER_API_URL}/novu-app-id`; + try { + const apiUrl = `${process.env.REACT_APP_NOVU_PUBLISHER_API_URL}/novu-app-id`; - const response = await fetch(apiUrl); - - if (!response.ok) { - throw new Error(`Failed to fetch NovuAppId. Status: ${response.status}`); - } + const response = await fetch(apiUrl); - const data = await response.json(); - return data.novuAppId; - } catch (error) { - console.error('Error fetching NovuAppId:', error); - return null; + if (!response.ok) { + throw new Error(`Failed to fetch NovuAppId. Status: ${response.status}`); } + + const data = await response.json(); + return data.novuAppId; + } catch (error) { + console.error('Error fetching NovuAppId:', error); + return null; + } } export default Config; diff --git a/apps/react/case-portal/src/i18n/en_us.js b/apps/react/case-portal/src/i18n/en_us.js index ad50b8e5..49bb6c73 100644 --- a/apps/react/case-portal/src/i18n/en_us.js +++ b/apps/react/case-portal/src/i18n/en_us.js @@ -1,162 +1,162 @@ const defs = { - general: { - case: { - status: { - wip: 'Work In Progress', - closed: 'Closed', - archived: 'Archived' - } - } + general: { + case: { + status: { + wip: 'Work In Progress', + closed: 'Closed', + archived: 'Archived', + }, }, - menu: { - home: 'Dashboard', - case: 'Cases', - task: 'Tasks', - record: 'Records', - system: 'System', - settings: 'Settings', - casebuilder: 'Case Builder', - documentation: 'Documentation', + }, + menu: { + home: 'Dashboard', + case: 'Cases', + task: 'Tasks', + record: 'Records', + system: 'System', + settings: 'Settings', + casebuilder: 'Case Builder', + documentation: 'Documentation', - processes: 'Processes', - caseDefinitions: 'Case Definitions', - recordTypes: 'Record Types', - processEngines: 'Process Engines', - forms: 'Forms', - queues: 'Queues' - }, - pages: { - dashboard: { - title: 'My Workspace', - cards: { - wipcases: { - label: 'Work in Progress' - }, - caselist: { - label: 'All' - }, - tasklist: { - label: 'Tasks' - } - } + processes: 'Processes', + caseDefinitions: 'Case Definitions', + recordTypes: 'Record Types', + processEngines: 'Process Engines', + forms: 'Forms', + queues: 'Queues', + }, + pages: { + dashboard: { + title: 'My Workspace', + cards: { + wipcases: { + label: 'Work in Progress', }, caselist: { - datagrid: { - columns: { - businesskey: 'Business Key', - statusdescription: 'Status', - stage: 'Stage', - createdat: 'Created At', - queue: 'Queue', - caseOwnerName: 'Owner', - }, - action: { - details: 'Details' - } - }, - action: { - newcase: 'Create' - } - }, - caseform: { - actions: { - close: 'Close', - reopen: 'Re-open', - archive: 'Archive', - newTask: 'New Task', - startProcess: 'Start Process' - }, - tabs: { - details: 'Case Details', - tasks: 'Tasks', - comments: 'Comments', - attachments: 'Attachments', - emails: 'Emails' - }, - manualProcesses: { - title: 'Choose a process to start' - } + label: 'All', }, tasklist: { - datagrid: { - columns: { - name: 'Task', - caseinstanceid: 'Case', - processdefinitionid: 'Process', - assignee: 'Assignee', - created: 'Created', - due: 'Due', - followup: 'Follow Up' - }, - toolbar: { - columns: 'Columns', - filters: 'Filters', - density: 'Density', - export: 'Export' - } - }, - newTask: { - name: 'Task', - description: 'Description', - dueDate: 'Due Date', - assignee: 'Assignee' - }, - upcoming: 'Upcoming & Overdue' + label: 'Tasks', + }, + }, + }, + caselist: { + datagrid: { + columns: { + businesskey: 'Business Key', + statusdescription: 'Status', + stage: 'Stage', + createdat: 'Created At', + queue: 'Queue', + caseOwnerName: 'Owner', }, - taskform: { - claim: 'Claim', - complete: 'Complete' + action: { + details: 'Details', }, - recordlist: { - datagrid: { - action: { - details: 'Details' - } - }, - action: { - newrecord: 'New' - } + }, + action: { + newcase: 'Create', + }, + }, + caseform: { + actions: { + close: 'Close', + reopen: 'Re-open', + archive: 'Archive', + newTask: 'New Task', + startProcess: 'Start Process', + }, + tabs: { + details: 'Case Details', + tasks: 'Tasks', + comments: 'Comments', + attachments: 'Attachments', + emails: 'Emails', + }, + manualProcesses: { + title: 'Choose a process to start', + }, + }, + tasklist: { + datagrid: { + columns: { + name: 'Task', + caseinstanceid: 'Case', + processdefinitionid: 'Process', + assignee: 'Assignee', + created: 'Created', + due: 'Due', + followup: 'Follow Up', }, - comments: { - title: 'Comments', - actions: { - send: 'Send', - reply: 'Reply', - edit: { - action: 'Edit', - update: 'Update', - cancel: 'Candel' - }, - delete: 'Delete' - } + toolbar: { + columns: 'Columns', + filters: 'Filters', + density: 'Density', + export: 'Export', }, - emails: { - datagrid: { - receivedDateTime: 'Received', - hasAttachments: 'Attachments?', - from: 'From', - to: 'To', - bodyPreview: 'Preview', - action: { - compose: 'New' - } - }, - form:{ - title: 'New e-mail', - recipient: 'To', - subject: 'Subject', - body: 'Body', - send: 'Send' - } + }, + newTask: { + name: 'Task', + description: 'Description', + dueDate: 'Due Date', + assignee: 'Assignee', + }, + upcoming: 'Upcoming & Overdue', + }, + taskform: { + claim: 'Claim', + complete: 'Complete', + }, + recordlist: { + datagrid: { + action: { + details: 'Details', }, - message: { - fileUpload: { - error: { - couldNotUpload: 'Could not upload this file.' - } - } - } - } + }, + action: { + newrecord: 'New', + }, + }, + comments: { + title: 'Comments', + actions: { + send: 'Send', + reply: 'Reply', + edit: { + action: 'Edit', + update: 'Update', + cancel: 'Candel', + }, + delete: 'Delete', + }, + }, + emails: { + datagrid: { + receivedDateTime: 'Received', + hasAttachments: 'Attachments?', + from: 'From', + to: 'To', + bodyPreview: 'Preview', + action: { + compose: 'New', + }, + }, + form: { + title: 'New e-mail', + recipient: 'To', + subject: 'Subject', + body: 'Body', + send: 'Send', + }, + }, + message: { + fileUpload: { + error: { + couldNotUpload: 'Could not upload this file.', + }, + }, + }, + }, }; export default defs; diff --git a/apps/react/case-portal/src/i18n/index.js b/apps/react/case-portal/src/i18n/index.js index 66f8d555..48f3683a 100644 --- a/apps/react/case-portal/src/i18n/index.js +++ b/apps/react/case-portal/src/i18n/index.js @@ -6,23 +6,23 @@ var lang = 'en'; var fallbackLng = 'en'; if (navigator.language === 'pt-BR') { - lang = 'ptBR'; + lang = 'ptBR'; } i18n.init({ - resources: { - en: { - translation: enUS - }, - ptBR: { - translation: ptBR - } + resources: { + en: { + translation: enUS, }, - lng: lang, - fallbackLng: fallbackLng, - interpolation: { - escapeValue: false - } + ptBR: { + translation: ptBR, + }, + }, + lng: lang, + fallbackLng: fallbackLng, + interpolation: { + escapeValue: false, + }, }); export default i18n; diff --git a/apps/react/case-portal/src/i18n/pt_br.js b/apps/react/case-portal/src/i18n/pt_br.js index ba53c984..3bd685a5 100644 --- a/apps/react/case-portal/src/i18n/pt_br.js +++ b/apps/react/case-portal/src/i18n/pt_br.js @@ -1,163 +1,162 @@ const defs = { - general: { - case: { - status: { - wip: 'Em Andamento', - closed: 'Fechado', - archived: 'Arquivado' - } - } + general: { + case: { + status: { + wip: 'Em Andamento', + closed: 'Fechado', + archived: 'Arquivado', + }, }, - menu: { - home: 'Dashboard', - case: 'Casos', - task: 'Tarefas', - record: 'Registros', - system: 'Sistema', - settings: 'Configurações', - casebuilder: 'Case Builder', - documentation: 'Documentação', + }, + menu: { + home: 'Dashboard', + case: 'Casos', + task: 'Tarefas', + record: 'Registros', + system: 'Sistema', + settings: 'Configurações', + casebuilder: 'Case Builder', + documentation: 'Documentação', - processes: 'Processos', - caseDefinitions: 'Definições de Casos', - recordTypes: 'Tipos de Registros', - processEngines: 'Motores de Processos', - forms: 'Formulários', - queues: 'Filas' - }, - pages: { - dashboard: { - title: 'Área de trabalho', - cards: { - wipcases: { - label: 'Em Andamento' - }, - caselist: { - label: 'Tudo' - }, - tasklist: { - label: 'Tarefas' - } - } + processes: 'Processos', + caseDefinitions: 'Definições de Casos', + recordTypes: 'Tipos de Registros', + processEngines: 'Motores de Processos', + forms: 'Formulários', + queues: 'Filas', + }, + pages: { + dashboard: { + title: 'Área de trabalho', + cards: { + wipcases: { + label: 'Em Andamento', }, caselist: { - datagrid: { - columns: { - businesskey: 'Número', - statusdescription: 'Situação', - stage: 'Estágio', - createdat: 'Criado em', - queue: 'Fila', - caseOwnerName: 'Criado por' - }, - action: { - details: 'Detalhar' - } - }, - action: { - newcase: 'Criar' - } - }, - caseform: { - actions: { - close: 'Encerrar', - reopen: 'Reabrir', - archive: 'Arquivar', - newTask: 'Nova Tarefa', - startProcess: 'Iniciar Processo' - }, - tabs: { - details: 'Detalhes do Caso', - tasks: 'Tarefas', - comments: 'Comentários', - attachments: 'Anexos', - emails: 'Emails' - }, - manualProcesses: { - title: 'Selecione o processo para iniciar' - } + label: 'Tudo', }, tasklist: { - datagrid: { - columns: { - name: 'Tarefa', - caseinstanceid: 'Caso', - processdefinitionid: 'Processo', - assignee: 'Associado', - created: 'Criado em', - due: 'Concluído em', - followup: 'Acompanhar' - }, - toolbar: { - columns: 'Colunas', - filters: 'Filtros', - density: 'Densidade', - export: 'Exportação' - } - }, - newTask:{ - name: 'Tarefa', - description: 'Descrição', - dueDate: 'Prazo', - assignee: 'Responsável' - }, - upcoming: 'Futuras e Atrasadas' - + label: 'Tarefas', + }, + }, + }, + caselist: { + datagrid: { + columns: { + businesskey: 'Número', + statusdescription: 'Situação', + stage: 'Estágio', + createdat: 'Criado em', + queue: 'Fila', + caseOwnerName: 'Criado por', + }, + action: { + details: 'Detalhar', + }, + }, + action: { + newcase: 'Criar', + }, + }, + caseform: { + actions: { + close: 'Encerrar', + reopen: 'Reabrir', + archive: 'Arquivar', + newTask: 'Nova Tarefa', + startProcess: 'Iniciar Processo', + }, + tabs: { + details: 'Detalhes do Caso', + tasks: 'Tarefas', + comments: 'Comentários', + attachments: 'Anexos', + emails: 'Emails', + }, + manualProcesses: { + title: 'Selecione o processo para iniciar', + }, + }, + tasklist: { + datagrid: { + columns: { + name: 'Tarefa', + caseinstanceid: 'Caso', + processdefinitionid: 'Processo', + assignee: 'Associado', + created: 'Criado em', + due: 'Concluído em', + followup: 'Acompanhar', + }, + toolbar: { + columns: 'Colunas', + filters: 'Filtros', + density: 'Densidade', + export: 'Exportação', }, - taskform: { - claim: 'Bloquear', - complete: 'Finalizar' + }, + newTask: { + name: 'Tarefa', + description: 'Descrição', + dueDate: 'Prazo', + assignee: 'Responsável', + }, + upcoming: 'Futuras e Atrasadas', + }, + taskform: { + claim: 'Bloquear', + complete: 'Finalizar', + }, + recordlist: { + datagrid: { + action: { + details: 'Detalhar', }, - recordlist: { - datagrid: { - action: { - details: 'Detalhar' - } - }, - action: { - newrecord: 'Novo' - } + }, + action: { + newrecord: 'Novo', + }, + }, + comments: { + title: 'Comentários', + actions: { + send: 'Enviar', + reply: 'Responder', + edit: { + action: 'Editar', + update: 'Alterar', + cancel: 'Cancelar', }, - comments: { - title: 'Comentários', - actions: { - send: 'Enviar', - reply: 'Responder', - edit: { - action: 'Editar', - update: 'Alterar', - cancel: 'Cancelar' - }, - delete: 'Remover' - } + delete: 'Remover', + }, + }, + emails: { + datagrid: { + receivedDateTime: 'Recebido', + hasAttachments: 'Anexos?', + from: 'De', + to: 'Para', + bodyPreview: 'Prévia', + action: { + compose: 'Novo', }, - emails: { - datagrid: { - receivedDateTime: 'Recebido', - hasAttachments: 'Anexos?', - from: 'De', - to: 'Para', - bodyPreview: 'Prévia', - action: { - compose: 'Novo' - } - }, - form:{ - title: 'Novo E-mail', - recipient: 'Para', - subject: 'Assunto', - body: 'Corpo', - send: 'Enviar' - } + }, + form: { + title: 'Novo E-mail', + recipient: 'Para', + subject: 'Assunto', + body: 'Corpo', + send: 'Enviar', + }, + }, + message: { + fileUpload: { + error: { + couldNotUpload: 'Não foi possível fazer o upload do arquivo.', }, - message: { - fileUpload:{ - error :{ - couldNotUpload: 'Não foi possível fazer o upload do arquivo.' - } - } - } - } + }, + }, + }, }; export default defs; diff --git a/apps/react/case-portal/src/index.js b/apps/react/case-portal/src/index.js index dfc79377..3eea7cb1 100644 --- a/apps/react/case-portal/src/index.js +++ b/apps/react/case-portal/src/index.js @@ -1,27 +1,19 @@ import { BrowserRouter } from 'react-router-dom'; import { createRoot } from 'react-dom/client'; import { Provider } from 'react-redux'; -import 'simplebar/src/simplebar.css'; -import 'assets/third-party/apex-chart.css'; -import { store } from 'store'; +import { store } from './store'; import App from './App'; -import reportWebVitals from './reportWebVitals'; import i18n from './i18n'; import { I18nextProvider } from 'react-i18next'; const container = document.getElementById('root'); const root = createRoot(container); root.render( - - - - - - - + + + + + + + , ); - -// If you want to start measuring performance in your app, pass a function -// to log results (for example: reportWebVitals(console.log)) -// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals -reportWebVitals(); diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js index 2036c21a..398ab6c5 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavCollapse.js @@ -9,128 +9,132 @@ import Typography from '@mui/material/Typography'; import { useTheme } from '@mui/material/styles'; import NavItem from './NavItem'; import FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord'; -import { IconChevronDown, IconChevronUp } from '@tabler/icons'; +import { IconChevronDown, IconChevronUp } from '@tabler/icons-react'; const NavCollapse = ({ menu, level }) => { - const theme = useTheme(); - const [open, setOpen] = useState(false); - const [selected, setSelected] = useState(null); + const theme = useTheme(); + const [open, setOpen] = useState(false); + const [selected, setSelected] = useState(null); - const handleClick = () => { - setOpen(!open); - setSelected(!selected ? menu.id : null); - }; + const handleClick = () => { + setOpen(!open); + setSelected(!selected ? menu.id : null); + }; - const menus = menu.children?.map((item) => { - switch (item.type) { - case 'collapse': - return ; - case 'item': - return ; - default: - return ( - - Menu Items Error - - ); - } - }); + const menus = menu.children?.map((item) => { + switch (item.type) { + case 'collapse': + return ; + case 'item': + return ; + default: + return ( + + Menu Items Error + + ); + } + }); - const Icon = menu.icon; - const menuIcon = menu.icon ? ( - - ) : ( - 0 ? 'inherit' : 'medium'} - /> - ); + const Icon = menu.icon; + const menuIcon = menu.icon ? ( + + ) : ( + 0 ? 'inherit' : 'medium'} + /> + ); - return ( - <> - 1 ? 'transparent !important' : 'inherit', - py: level > 1 ? 1 : 1.25, - pl: `${level * 24}px` - }} - selected={selected === menu.id} - onClick={handleClick} + return ( + <> + 1 ? 'transparent !important' : 'inherit', + py: level > 1 ? 1 : 1.25, + pl: `${level * 24}px`, + }} + selected={selected === menu.id} + onClick={handleClick} + > + + {menuIcon} + + - - {menuIcon} - - - {menu.title} - - } - secondary={ - menu.caption && ( - - {menu.caption} - - ) - } - /> - {open ? ( - - ) : ( - - )} - - - - {menus} - - - - ); + {menu.title} + + } + secondary={ + menu.caption && ( + + {menu.caption} + + ) + } + /> + {open ? ( + + ) : ( + + )} + + + + {menus} + + + + ); }; NavCollapse.propTypes = { - menu: PropTypes.object, - level: PropTypes.number + menu: PropTypes.object, + level: PropTypes.number, }; export default NavCollapse; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js index 10d4793b..883c549e 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavGroup.js @@ -7,45 +7,50 @@ import NavItem from './NavItem'; import NavCollapse from './NavCollapse'; const NavGroup = ({ item }) => { - const menu = useSelector((state) => state.menu); - const { drawerOpen } = menu; + const menu = useSelector((state) => state.menu); + const { drawerOpen } = menu; - const navCollapse = item.children?.map((menuItem) => { - switch (menuItem.type) { - case 'collapse': - return ; - case 'item': - return ; - default: - return ( - - Fix - Group Collapse or Items - - ); - } - }); + const navCollapse = item.children?.map((menuItem) => { + switch (menuItem.type) { + case 'collapse': + return ; + case 'item': + return ; + default: + return ( + + Fix - Group Collapse or Items + + ); + } + }); - return ( - - - {item.title} - - - ) - } - sx={{ mb: drawerOpen ? 1.5 : 0, py: 0, zIndex: 0 }} - > - {navCollapse} - - ); + return ( + + + {item.title} + + + ) + } + sx={{ mb: drawerOpen ? 1.5 : 0, py: 0, zIndex: 0 }} + > + {navCollapse} + + ); }; NavGroup.propTypes = { - item: PropTypes.object + item: PropTypes.object, }; export default NavGroup; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js index ea51bb7e..564080e2 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/NavItem.js @@ -1,155 +1,158 @@ -import PropTypes from 'prop-types'; -import { forwardRef, useEffect } from 'react'; -import { Link } from 'react-router-dom'; -import { useDispatch, useSelector } from 'react-redux'; -import { useTheme } from '@mui/material/styles'; import Avatar from '@mui/material/Avatar'; import Chip from '@mui/material/Chip'; import ListItemButton from '@mui/material/ListItemButton'; import ListItemIcon from '@mui/material/ListItemIcon'; import ListItemText from '@mui/material/ListItemText'; import Typography from '@mui/material/Typography'; +import { useTheme } from '@mui/material/styles'; +import PropTypes from 'prop-types'; +import { forwardRef, useEffect } from 'react'; +import { useDispatch, useSelector } from 'react-redux'; +import { Link } from 'react-router-dom'; import { activeItem } from 'store/reducers/menu'; const NavItem = ({ item, level }) => { - const theme = useTheme(); - const dispatch = useDispatch(); - const menu = useSelector((state) => state.menu); - const { drawerOpen, openItem } = menu; + const theme = useTheme(); + const dispatch = useDispatch(); + const menu = useSelector((state) => state.menu); + const { drawerOpen, openItem } = menu; - let itemTarget = '_self'; - if (item.target) { - itemTarget = '_blank'; - } + let itemTarget = '_self'; + if (item.target) { + itemTarget = '_blank'; + } - let listItemProps = { - component: forwardRef((props, ref) => ( - - )) - }; - if (item?.external) { - listItemProps = { component: 'a', href: item.url, target: itemTarget }; - } + function CustomLink(props, ref) { + return ; + } - const itemHandler = (id) => { - dispatch(activeItem({ openItem: [id] })); - }; + const ForwardedCustomLink = forwardRef(CustomLink); - const Icon = item.icon; - const itemIcon = item.icon ? ( - - ) : ( - false - ); + let listItemProps = { + component: ForwardedCustomLink, + }; + if (item?.external) { + listItemProps = { component: 'a', href: item.url, target: itemTarget }; + } - const isSelected = openItem.findIndex((id) => id === item.id) > -1; + const itemHandler = (id) => { + dispatch(activeItem({ openItem: [id] })); + }; - useEffect(() => { - const currentIndex = document.location.pathname - .toString() - .split('/') - .findIndex((id) => id === item.id); - if (currentIndex > -1) { - dispatch(activeItem({ openItem: [item.id] })); - } - // eslint-disable-next-line - }, []); + const Icon = item.icon; + const itemIcon = item.icon ? ( + + ) : ( + false + ); + + const isSelected = openItem.findIndex((id) => id === item.id) > -1; + + useEffect(() => { + const currentIndex = document.location.pathname + .toString() + .split('/') + .findIndex((id) => id === item.id); + if (currentIndex > -1) { + dispatch(activeItem({ openItem: [item.id] })); + } + }, []); - const textColor = 'text.primary'; - const iconSelectedColor = 'primary.main'; + const textColor = 'text.primary'; + const iconSelectedColor = 'primary.main'; - return ( - itemHandler(item.id)} - selected={isSelected} - sx={{ - zIndex: 1201, - pl: drawerOpen ? `${level * 28}px` : 1.5, - py: !drawerOpen && level === 1 ? 1.25 : 1, - ...(drawerOpen && { - '&:hover': { - bgcolor: 'primary.lighter' - }, - '&.Mui-selected': { - bgcolor: 'primary.lighter', - borderRight: `2px solid ${theme.palette.primary.main}`, - color: iconSelectedColor, - '&:hover': { - color: iconSelectedColor, - bgcolor: 'primary.lighter' - } - } - }), - ...(!drawerOpen && { - '&:hover': { - bgcolor: 'transparent' - }, - '&.Mui-selected': { - '&:hover': { - bgcolor: 'transparent' - }, - bgcolor: 'transparent' - } - }) - }} + return ( + itemHandler(item.id)} + selected={isSelected} + sx={{ + zIndex: 1201, + pl: drawerOpen ? `${level * 28}px` : 1.5, + py: !drawerOpen && level === 1 ? 1.25 : 1, + ...(drawerOpen && { + '&:hover': { + bgcolor: 'primary.lighter', + }, + '&.Mui-selected': { + bgcolor: 'primary.lighter', + borderRight: `2px solid ${theme.palette.primary.main}`, + color: iconSelectedColor, + '&:hover': { + color: iconSelectedColor, + bgcolor: 'primary.lighter', + }, + }, + }), + ...(!drawerOpen && { + '&:hover': { + bgcolor: 'transparent', + }, + '&.Mui-selected': { + '&:hover': { + bgcolor: 'transparent', + }, + bgcolor: 'transparent', + }, + }), + }} + > + {itemIcon && ( + - {itemIcon && ( - - {itemIcon} - - )} - {(drawerOpen || (!drawerOpen && level !== 1)) && ( - - {item.title} - - } - /> - )} - {(drawerOpen || (!drawerOpen && level !== 1)) && item.chip && ( - {item.chip.avatar}} - /> - )} - - ); + {itemIcon} + + )} + {(drawerOpen || (!drawerOpen && level !== 1)) && ( + + {item.title} + + } + /> + )} + {(drawerOpen || (!drawerOpen && level !== 1)) && item.chip && ( + {item.chip.avatar}} + /> + )} + + ); }; NavItem.propTypes = { - item: PropTypes.object, - level: PropTypes.number + item: PropTypes.object, + level: PropTypes.number, }; export default NavItem; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js index d3ae882c..3dd11e60 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/Navigation/index.js @@ -4,22 +4,22 @@ import NavGroup from './NavGroup'; import { useMenu } from 'SessionStoreContext'; const Navigation = () => { - const menu = useMenu(); + const menu = useMenu(); - const navGroups = menu.items.map((item) => { - switch (item.type) { - case 'group': - return ; - default: - return ( - - Fix - Navigation Group - - ); - } - }); + const navGroups = menu.items.map((item) => { + switch (item.type) { + case 'group': + return ; + default: + return ( + + Fix - Navigation Group + + ); + } + }); - return {navGroups}; + return {navGroups}; }; export default Navigation; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js index bffeecf9..a69acfed 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerContent/index.js @@ -2,16 +2,16 @@ import SimpleBar from 'components/third-party/SimpleBar'; import Navigation from './Navigation'; const DrawerContent = () => ( - - - + + + ); export default DrawerContent; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js index f9101459..53689678 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/DrawerHeaderStyled.js @@ -1,14 +1,14 @@ import { styled } from '@mui/material/styles'; import Box from '@mui/material/Box'; -const DrawerHeaderStyled = styled(Box, { shouldForwardProp: (prop) => prop !== 'open' })( - ({ theme, open }) => ({ - ...theme.mixins.toolbar, - display: 'flex', - alignItems: 'center', - justifyContent: open ? 'flex-start' : 'center', - paddingLeft: theme.spacing(open ? 3 : 0) - }) -); +const DrawerHeaderStyled = styled(Box, { + shouldForwardProp: (prop) => prop !== 'open', +})(({ theme, open }) => ({ + ...theme.mixins.toolbar, + display: 'flex', + alignItems: 'center', + justifyContent: open ? 'flex-start' : 'center', + paddingLeft: theme.spacing(open ? 3 : 0), +})); export default DrawerHeaderStyled; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js index e7fe8457..6a2a02e9 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/DrawerHeader/index.js @@ -5,19 +5,19 @@ import DrawerHeaderStyled from './DrawerHeaderStyled'; import Logo from 'components/Logo'; const DrawerHeader = ({ open }) => { - const theme = useTheme(); + const theme = useTheme(); - return ( - - - - - - ); + return ( + + + + + + ); }; DrawerHeader.propTypes = { - open: PropTypes.bool + open: PropTypes.bool, }; export default DrawerHeader; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js index c860eed0..da5dbbcb 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/MiniDrawerStyled.js @@ -4,42 +4,42 @@ import Drawer from '@mui/material/Drawer'; import { drawerWidth } from 'config'; const openedMixin = (theme) => ({ - width: drawerWidth, - borderRight: `1px solid ${theme.palette.divider}`, - transition: theme.transitions.create('width', { - easing: theme.transitions.easing.sharp, - duration: theme.transitions.duration.enteringScreen - }), - overflowX: 'hidden', - boxShadow: 'none' + width: drawerWidth, + borderRight: `1px solid ${theme.palette.divider}`, + transition: theme.transitions.create('width', { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.enteringScreen, + }), + overflowX: 'hidden', + boxShadow: 'none', }); const closedMixin = (theme) => ({ - transition: theme.transitions.create('width', { - easing: theme.transitions.easing.sharp, - duration: theme.transitions.duration.leavingScreen - }), - overflowX: 'hidden', - width: 0, - borderRight: 'none', - boxShadow: theme.customShadows.z1 + transition: theme.transitions.create('width', { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen, + }), + overflowX: 'hidden', + width: 0, + borderRight: 'none', + boxShadow: theme.customShadows.z1, }); -const MiniDrawerStyled = styled(Drawer, { shouldForwardProp: (prop) => prop !== 'open' })( - ({ theme, open }) => ({ - width: drawerWidth, - flexShrink: 0, - whiteSpace: 'nowrap', - boxSizing: 'border-box', - ...(open && { - ...openedMixin(theme), - '& .MuiDrawer-paper': openedMixin(theme) - }), - ...(!open && { - ...closedMixin(theme), - '& .MuiDrawer-paper': closedMixin(theme) - }) - }) -); +const MiniDrawerStyled = styled(Drawer, { + shouldForwardProp: (prop) => prop !== 'open', +})(({ theme, open }) => ({ + width: drawerWidth, + flexShrink: 0, + whiteSpace: 'nowrap', + boxSizing: 'border-box', + ...(open && { + ...openedMixin(theme), + '& .MuiDrawer-paper': openedMixin(theme), + }), + ...(!open && { + ...closedMixin(theme), + '& .MuiDrawer-paper': closedMixin(theme), + }), +})); export default MiniDrawerStyled; diff --git a/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js b/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js index c722229a..ca878af7 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Drawer/index.js @@ -10,53 +10,54 @@ import MiniDrawerStyled from './MiniDrawerStyled'; import { drawerWidth } from 'config'; const MainDrawer = ({ open, handleDrawerToggle, window }) => { - const theme = useTheme(); - const matchDownMD = useMediaQuery(theme.breakpoints.down('lg')); - const container = window !== undefined ? () => window().document.body : undefined; - const drawerContent = useMemo(() => , []); - const drawerHeader = useMemo(() => , [open]); + const theme = useTheme(); + const matchDownMD = useMediaQuery(theme.breakpoints.down('lg')); + const container = + window !== undefined ? () => window().document.body : undefined; + const drawerContent = useMemo(() => , []); + const drawerHeader = useMemo(() => , [open]); - return ( - + {!matchDownMD ? ( + + {drawerHeader} + {drawerContent} + + ) : ( + - {!matchDownMD ? ( - - {drawerHeader} - {drawerContent} - - ) : ( - - {open && drawerHeader} - {open && drawerContent} - - )} - - ); + {open && drawerHeader} + {open && drawerContent} + + )} + + ); }; MainDrawer.propTypes = { - open: PropTypes.bool, - handleDrawerToggle: PropTypes.func, - window: PropTypes.object + open: PropTypes.bool, + handleDrawerToggle: PropTypes.func, + window: PropTypes.object, }; export default MainDrawer; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js b/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js index e09c1495..b75662cd 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/AppBarStyled.js @@ -7,20 +7,22 @@ import { drawerWidth } from 'config'; // ==============================|| HEADER - APP BAR STYLED ||============================== // -const AppBarStyled = styled(AppBar, { shouldForwardProp: (prop) => prop !== 'open' })(({ theme, open }) => ({ - zIndex: theme.zIndex.drawer + 1, +const AppBarStyled = styled(AppBar, { + shouldForwardProp: (prop) => prop !== 'open', +})(({ theme, open }) => ({ + zIndex: theme.zIndex.drawer + 1, + transition: theme.transitions.create(['width', 'margin'], { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen, + }), + ...(open && { + marginLeft: drawerWidth, + width: `calc(100% - ${drawerWidth}px)`, transition: theme.transitions.create(['width', 'margin'], { - easing: theme.transitions.easing.sharp, - duration: theme.transitions.duration.leavingScreen + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.enteringScreen, }), - ...(open && { - marginLeft: drawerWidth, - width: `calc(100% - ${drawerWidth}px)`, - transition: theme.transitions.create(['width', 'margin'], { - easing: theme.transitions.easing.sharp, - duration: theme.transitions.duration.enteringScreen - }) - }) + }), })); export default AppBarStyled; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js index 15adbdec..e245719b 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/MobileSection.js @@ -1,94 +1,102 @@ import { useEffect, useRef, useState } from 'react'; import { useTheme } from '@mui/material/styles'; -import { AppBar, Box, ClickAwayListener, IconButton, Paper, Popper, Toolbar } from '@mui/material'; +import { + AppBar, + Box, + ClickAwayListener, + IconButton, + Paper, + Popper, + Toolbar, +} from '@mui/material'; import Search from './Search'; import Profile from './Profile'; import Transitions from 'components/@extended/Transitions'; import MoreOutlined from '@ant-design/icons/MoreOutlined'; const MobileSection = () => { - const theme = useTheme(); + const theme = useTheme(); - const [open, setOpen] = useState(false); - const anchorRef = useRef(null); + const [open, setOpen] = useState(false); + const anchorRef = useRef(null); - const handleToggle = () => { - setOpen((prevOpen) => !prevOpen); - }; + const handleToggle = () => { + setOpen((prevOpen) => !prevOpen); + }; - const handleClose = (event) => { - if (anchorRef.current && anchorRef.current.contains(event.target)) { - return; - } + const handleClose = (event) => { + if (anchorRef.current && anchorRef.current.contains(event.target)) { + return; + } - setOpen(false); - }; + setOpen(false); + }; - const prevOpen = useRef(open); - useEffect(() => { - if (prevOpen.current === true && open === false) { - anchorRef.current.focus(); - } + const prevOpen = useRef(open); + useEffect(() => { + if (prevOpen.current === true && open === false) { + anchorRef.current.focus(); + } - prevOpen.current = open; - }, [open]); + prevOpen.current = open; + }, [open]); - return ( - <> - - - - - - - {({ TransitionProps }) => ( - - - - - - - - - - - - - )} - - - ); + return ( + <> + + + + + + + {({ TransitionProps }) => ( + + + + + + + + + + + + + )} + + + ); }; export default MobileSection; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js index c3887529..81522b27 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Notification.js @@ -1,21 +1,21 @@ import { useRef, useState, useEffect } from 'react'; import { useTheme } from '@mui/material/styles'; import { - Avatar, - Badge, - Box, - ClickAwayListener, - Divider, - IconButton, - List, - ListItemButton, - ListItemAvatar, - ListItemText, - ListItemSecondaryAction, - Paper, - Popper, - Typography, - useMediaQuery + Avatar, + Badge, + Box, + ClickAwayListener, + Divider, + IconButton, + List, + ListItemButton, + ListItemAvatar, + ListItemText, + ListItemSecondaryAction, + Paper, + Popper, + Typography, + useMediaQuery, } from '@mui/material'; import MainCard from 'components/MainCard'; import Transitions from 'components/@extended/Transitions'; @@ -29,237 +29,240 @@ import { useSession } from 'SessionStoreContext'; // sx styles const avatarSX = { - width: 36, - height: 36, - fontSize: '1rem' + width: 36, + height: 36, + fontSize: '1rem', }; const actionSX = { - mt: '6px', - ml: 1, - top: 'auto', - right: 'auto', - alignSelf: 'flex-start', + mt: '6px', + ml: 1, + top: 'auto', + right: 'auto', + alignSelf: 'flex-start', - transform: 'none' + transform: 'none', }; const iconBackColorOpen = 'grey.300'; const iconBackColor = 'grey.100'; const Notification = () => { - const theme = useTheme(); - const matchesXs = useMediaQuery(theme.breakpoints.down('md')); - const anchorRef = useRef(null); - const [open, setOpen] = useState(false); - const [messages, setMessages] = useState([]); - const [badge, setBudget] = useState(0); - const keycloak = useSession(); + const theme = useTheme(); + const matchesXs = useMediaQuery(theme.breakpoints.down('md')); + const anchorRef = useRef(null); + const [open, setOpen] = useState(false); + const [messages, setMessages] = useState([]); + const [badge, setBudget] = useState(0); + const keycloak = useSession(); - const handleToggle = () => { - setOpen((prevOpen) => !prevOpen); - }; + const handleToggle = () => { + setOpen((prevOpen) => !prevOpen); + }; - const handleClose = (event) => { - if (anchorRef.current && anchorRef.current.contains(event.target)) { - return; - } - setOpen(false); - }; + const handleClose = (event) => { + if (anchorRef.current && anchorRef.current.contains(event.target)) { + return; + } + setOpen(false); + }; - useEffect(() => { - let delay = 1000; - let timeout = null; + useEffect(() => { + let delay = 1000; + let timeout = null; - const updateNotify = () => { - NotificationService.getNotifications(keycloak) - .then((data) => { - setBudget(data.length ? data[0].total : 0); - setMessages(data); - delay = delay * 30; - timeout = setTimeout(updateNotify, delay); - }) - .catch((error) => { - console.error('Could not update notify. waiting a bit...', error); - delay = delay * 2; - timeout = setTimeout(updateNotify, delay); - }); - }; + const updateNotify = () => { + NotificationService.getNotifications(keycloak) + .then((data) => { + setBudget(data.length ? data[0].total : 0); + setMessages(data); + delay = delay * 30; + timeout = setTimeout(updateNotify, delay); + }) + .catch((error) => { + console.error('Could not update notify. waiting a bit...', error); + delay = delay * 2; + timeout = setTimeout(updateNotify, delay); + }); + }; - updateNotify(); + updateNotify(); - return () => timeout && clearTimeout(timeout); - }, []); + return () => timeout && clearTimeout(timeout); + }, []); - return ( - - - - - - + return ( + + + + + + - + {({ TransitionProps }) => ( + + - {({ TransitionProps }) => ( - - - - - - - } - > - - - - - - - - )} - - - ); + + + + + } + > + + + + + + + + )} + + + ); }; function NotificationList({ items }) { - const hasMoreView = items.length ? items[0].total > 5 : false; + const hasMoreView = items.length ? items[0].total > 5 : false; - return ( - <> - {items.map((data, index) => { - return ( - - - - + return ( + <> + {items.map((data, index) => { + return ( + + + + - + - - - {data.createdAt} - - - - ); - })} + + + {data.createdAt} + + + + ); + })} - + - {!hasMoreView &&
} + {!hasMoreView &&
} - {hasMoreView && ( - - - View All - - } - /> - - )} - - ); + {hasMoreView && ( + + + View All + + } + /> + + )} + + ); } function AvatarIcon({ stage }) { - if (stage === 'data_collection_stg') { - return ( - - - - ); - } + if (stage === 'data_collection_stg') { + return ( + + + + ); + } - if (stage === 'contract_writing_stg') { - return ( - - - - ); - } + if (stage === 'contract_writing_stg') { + return ( + + + + ); + } - if (stage === 'info_docs_analysis_stg') { - return ( - - - - ); - } + if (stage === 'info_docs_analysis_stg') { + return ( + + + + ); + } - return; + return; } export default Notification; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js index 4186cda2..cecbcd97 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/ProfileTab.js @@ -5,35 +5,38 @@ import LogoutOutlined from '@ant-design/icons/LogoutOutlined'; import UserOutlined from '@ant-design/icons/UserOutlined'; const ProfileTab = ({ handleLogout }) => { - const theme = useTheme(); + const theme = useTheme(); - return ( - - - - - - - + return ( + + + + + + + - - - - - - - - ); + + + + + + + + ); }; ProfileTab.propTypes = { - handleLogout: PropTypes.func + handleLogout: PropTypes.func, }; export default ProfileTab; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js index 99c879ca..ecf9db80 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/SettingTab.js @@ -4,32 +4,35 @@ import { List, ListItemButton, ListItemIcon, ListItemText } from '@mui/material' import UserOutlined from '@ant-design/icons/UserOutlined'; const SettingTab = () => { - const theme = useTheme(); + const theme = useTheme(); - const [selectedIndex, setSelectedIndex] = useState(0); - const handleListItemClick = (event, index) => { - setSelectedIndex(index); - }; + const [selectedIndex, setSelectedIndex] = useState(0); + const handleListItemClick = (event, index) => { + setSelectedIndex(index); + }; - return ( - - handleListItemClick(event, 1)} - > - - - - - - - ); + return ( + + handleListItemClick(event, 1)} + > + + + + + + + ); }; export default SettingTab; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js index 9fa08586..e1c83750 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Profile/index.js @@ -24,229 +24,222 @@ import UserOutlined from '@ant-design/icons/UserOutlined'; import avatar2 from 'assets/images/users/avatar-2.png'; function TabPanel({ children, value, index, ...other }) { - return ( - - ); + return ( + + ); } TabPanel.propTypes = { - children: PropTypes.node, - index: PropTypes.any.isRequired, - value: PropTypes.any.isRequired + children: PropTypes.node, + index: PropTypes.any.isRequired, + value: PropTypes.any.isRequired, }; function a11yProps(index) { - return { - id: `profile-tab-${index}`, - 'aria-controls': `profile-tabpanel-${index}` - }; + return { + id: `profile-tab-${index}`, + 'aria-controls': `profile-tabpanel-${index}`, + }; } const Profile = ({ keycloak }) => { - const theme = useTheme(); - const iconBackColorOpen = 'grey.300'; - const anchorRef = useRef(null); - const [open, setOpen] = useState(false); - const [value, setValue] = useState(0); + const theme = useTheme(); + const iconBackColorOpen = 'grey.300'; + const anchorRef = useRef(null); + const [open, setOpen] = useState(false); + const [value, setValue] = useState(0); - const handleLogout = async () => { - keycloak.logout({ redirectUri: window.location.origin }); - }; + const handleLogout = async () => { + keycloak.logout({ redirectUri: window.location.origin }); + }; - const handleToggle = () => { - setOpen((prevOpen) => !prevOpen); - }; + const handleToggle = () => { + setOpen((prevOpen) => !prevOpen); + }; - const handleClose = (event) => { - if (anchorRef.current && anchorRef.current.contains(event.target)) { - return; - } - setOpen(false); - }; + const handleClose = (event) => { + if (anchorRef.current && anchorRef.current.contains(event.target)) { + return; + } + setOpen(false); + }; - const handleChange = (event, newValue) => { - setValue(newValue); - }; + const handleChange = (event, newValue) => { + setValue(newValue); + }; - return ( - - + + + + + {keycloak.idTokenParsed.given_name} + + + + + {({ TransitionProps }) => ( + + {open && ( + - - - {keycloak.idTokenParsed.given_name} - - - - {({ TransitionProps }) => ( - - {open && ( - - - - - - - - - - - {keycloak.idTokenParsed.name} - - - {keycloak.idTokenParsed.email} - - - - - - - - - - - - {open && ( - <> - - - - } - label="Profile" - {...a11yProps(0)} - /> - - } - label="Setting" - {...a11yProps(1)} - /> - - - - - - - - - - )} - - - - )} - - )} - - - ); + > + + + + + + + + + + {keycloak.idTokenParsed.name} + + + {keycloak.idTokenParsed.email} + + + + + + + + + + + + {open && ( + <> + + + + } + label='Profile' + {...a11yProps(0)} + /> + + } + label='Setting' + {...a11yProps(1)} + /> + + + + + + + + + + )} + + + + )} + + )} + + + ); }; export default Profile; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js index a43fcd26..f774bcbe 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/Search.js @@ -4,24 +4,24 @@ import SearchOutlined from '@ant-design/icons/SearchOutlined'; // ==============================|| HEADER CONTENT - SEARCH ||============================== // const Search = () => ( - - - - - - } - aria-describedby="header-search-text" - inputProps={{ - 'aria-label': 'weight' - }} - placeholder="Ctrl + K" - /> - - + + + + + + } + aria-describedby='header-search-text' + inputProps={{ + 'aria-label': 'weight', + }} + placeholder='Ctrl + K' + /> + + ); export default Search; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js index d2c8be8d..02ce1889 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/HeaderContent/index.js @@ -1,8 +1,8 @@ import { Box, useMediaQuery } from '@mui/material'; import { - NotificationBell, - NovuProvider, - PopoverNotificationCenter + NotificationBell, + NovuProvider, + PopoverNotificationCenter, } from '@novu/notification-center'; import MobileSection from './MobileSection'; import Profile from './Profile'; @@ -11,29 +11,31 @@ import Config from 'consts/index'; import Notification from './Notification'; const HeaderContent = ({ keycloak }) => { - const matchesXs = useMediaQuery((theme) => theme.breakpoints.down('md')); + const matchesXs = useMediaQuery((theme) => theme.breakpoints.down('md')); - return ( - <> - {!matchesXs && } - {matchesXs && } - {Config.NovuEnabled ? ( - - - {({ unseenCount }) => } - - - ) : ( - + return ( + <> + {!matchesXs && } + {matchesXs && } + {Config.NovuEnabled ? ( + + + {({ unseenCount }) => ( + )} + + + ) : ( + + )} - {!matchesXs && } - {matchesXs && } - - ); + {!matchesXs && } + {matchesXs && } + + ); }; export default HeaderContent; diff --git a/apps/react/case-portal/src/layout/MainLayout/Header/index.js b/apps/react/case-portal/src/layout/MainLayout/Header/index.js index 8e59a008..dd7bd960 100644 --- a/apps/react/case-portal/src/layout/MainLayout/Header/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/Header/index.js @@ -7,56 +7,56 @@ import MenuFoldOutlined from '@ant-design/icons/MenuFoldOutlined'; import MenuUnfoldOutlined from '@ant-design/icons/MenuUnfoldOutlined'; const Header = ({ open, handleDrawerToggle, keycloak }) => { - const theme = useTheme(); - const matchDownMD = useMediaQuery(theme.breakpoints.down('lg')); - const iconBackColor = 'grey.100'; - const iconBackColorOpen = 'grey.200'; + const theme = useTheme(); + const matchDownMD = useMediaQuery(theme.breakpoints.down('lg')); + const iconBackColor = 'grey.100'; + const iconBackColorOpen = 'grey.200'; - const mainHeader = ( - - - {!open ? : } - - - - ); + const mainHeader = ( + + + {!open ? : } + + + + ); - const appBar = { - position: 'fixed', - color: 'inherit', - elevation: 0, - sx: { - borderBottom: `1px solid ${theme.palette.divider}` - } - }; + const appBar = { + position: 'fixed', + color: 'inherit', + elevation: 0, + sx: { + borderBottom: `1px solid ${theme.palette.divider}`, + }, + }; - return ( - <> - {!matchDownMD ? ( - - {mainHeader} - - ) : ( - {mainHeader} - )} - - ); + return ( + <> + {!matchDownMD ? ( + + {mainHeader} + + ) : ( + {mainHeader} + )} + + ); }; Header.propTypes = { - open: PropTypes.bool, - handleDrawerToggle: PropTypes.func + open: PropTypes.bool, + handleDrawerToggle: PropTypes.func, }; export default Header; diff --git a/apps/react/case-portal/src/layout/MainLayout/index.js b/apps/react/case-portal/src/layout/MainLayout/index.js index 4c598e0b..b8601eee 100644 --- a/apps/react/case-portal/src/layout/MainLayout/index.js +++ b/apps/react/case-portal/src/layout/MainLayout/index.js @@ -9,30 +9,37 @@ import { openDrawer } from 'store/reducers/menu'; import { useMenu } from 'SessionStoreContext'; const MainLayout = ({ keycloak, authenticated }) => { - const dispatch = useDispatch(); - const { drawerOpen } = useSelector((state) => state.menu); - const [open, setOpen] = useState(drawerOpen); - const menu = useMenu(); + const dispatch = useDispatch(); + const { drawerOpen } = useSelector((state) => state.menu); + const [open, setOpen] = useState(drawerOpen); + const menu = useMenu(); - const handleDrawerToggle = () => { - setOpen(!open); - dispatch(openDrawer({ drawerOpen: !open })); - }; + const handleDrawerToggle = () => { + setOpen(!open); + dispatch(openDrawer({ drawerOpen: !open })); + }; - return ( - keycloak && - authenticated && ( - -
- - - - - - - - ) - ); + return ( + keycloak && + authenticated && ( + +
+ + + + + + + + ) + ); }; export default MainLayout; diff --git a/apps/react/case-portal/src/menu/dashboard.js b/apps/react/case-portal/src/menu/dashboard.js index cd1f14d0..966e899d 100644 --- a/apps/react/case-portal/src/menu/dashboard.js +++ b/apps/react/case-portal/src/menu/dashboard.js @@ -4,19 +4,19 @@ import i18n from '../i18n'; const icons = { HomeOutlined }; const dashboard = { - id: 'dashboard', - title: '', - type: 'group', - children: [ - { - id: 'default', - title: i18n.t('menu.home'), - type: 'item', - url: '/home', - icon: icons.HomeOutlined, - breadcrumbs: false - } - ] + id: 'dashboard', + title: '', + type: 'group', + children: [ + { + id: 'default', + title: i18n.t('menu.home'), + type: 'item', + url: '/home', + icon: icons.HomeOutlined, + breadcrumbs: false, + }, + ], }; export default dashboard; diff --git a/apps/react/case-portal/src/menu/index.js b/apps/react/case-portal/src/menu/index.js index 72d49ed1..bd1d3062 100644 --- a/apps/react/case-portal/src/menu/index.js +++ b/apps/react/case-portal/src/menu/index.js @@ -3,7 +3,7 @@ import workspace from './workspace'; import management from './management'; const menuItems = { - items: [dashboard, workspace, management] + items: [dashboard, workspace, management], }; export default menuItems; diff --git a/apps/react/case-portal/src/menu/management.js b/apps/react/case-portal/src/menu/management.js index 1d04c5cc..69d48f88 100644 --- a/apps/react/case-portal/src/menu/management.js +++ b/apps/react/case-portal/src/menu/management.js @@ -2,91 +2,91 @@ import i18n from '../i18n'; // assets import { - IconForms, - IconDatabase, - IconPencil, - IconSchema -} from '@tabler/icons'; + IconForms, + IconDatabase, + IconPencil, + IconSchema, +} from '@tabler/icons-react'; // icons const icons = { - IconForms, - IconDatabase, - IconPencil, - IconSchema + IconForms, + IconDatabase, + IconPencil, + IconSchema, }; const management = { - id: 'management', - title: 'Management', - caption: 'Management', - type: 'group', - children: [ + id: 'management', + title: 'Management', + caption: 'Management', + type: 'group', + children: [ + { + id: 'system', + title: i18n.t('menu.system'), + type: 'collapse', + icon: icons.IconBuilding, + children: [ { - id: 'system', - title: i18n.t('menu.system'), - type: 'collapse', - icon: icons.IconBuilding, - children: [ - { - id: 'look-and-feel', - title: 'Look And Feel', - type: 'item', - url: '/system/look-and-feel', - icon: icons.IconPalette, - breadcrumbs: true - } - ] + id: 'look-and-feel', + title: 'Look And Feel', + type: 'item', + url: '/system/look-and-feel', + icon: icons.IconPalette, + breadcrumbs: true, }, + ], + }, + { + id: 'casesAndProcessesManagement', + title: i18n.t('menu.casebuilder'), + type: 'collapse', + icon: icons.IconSettingsAutomation, + children: [ { - id: 'casesAndProcessesManagement', - title: i18n.t('menu.casebuilder'), - type: 'collapse', - icon: icons.IconSettingsAutomation, - children: [ - { - id: 'process-definition', - title: i18n.t('menu.processes'), - type: 'item', - url: '/case-life-cycle/process-definition', - breadcrumbs: true, - icon: icons.IconSchema - }, - { - id: 'case-definition', - title: i18n.t('menu.caseDefinitions'), - type: 'item', - url: '/case-life-cycle/case-definition', - breadcrumbs: true, - icon: icons.IconPencil - }, - { - id: 'record-type', - title: i18n.t('menu.recordTypes'), - type: 'item', - url: '/case-life-cycle/record-type', - breadcrumbs: true, - icon: icons.IconDatabase - }, - { - id: 'form', - title: i18n.t('menu.forms'), - type: 'item', - url: '/case-life-cycle/form', - breadcrumbs: true, - icon: icons.IconForms - }, - { - id: 'queue', - title: i18n.t('menu.queues'), - type: 'item', - url: '/case-life-cycle/queue', - breadcrumbs: true, - icon: icons.IconForms - } - ] - } - ] + id: 'process-definition', + title: i18n.t('menu.processes'), + type: 'item', + url: '/case-life-cycle/process-definition', + breadcrumbs: true, + icon: icons.IconSchema, + }, + { + id: 'case-definition', + title: i18n.t('menu.caseDefinitions'), + type: 'item', + url: '/case-life-cycle/case-definition', + breadcrumbs: true, + icon: icons.IconPencil, + }, + { + id: 'record-type', + title: i18n.t('menu.recordTypes'), + type: 'item', + url: '/case-life-cycle/record-type', + breadcrumbs: true, + icon: icons.IconDatabase, + }, + { + id: 'form', + title: i18n.t('menu.forms'), + type: 'item', + url: '/case-life-cycle/form', + breadcrumbs: true, + icon: icons.IconForms, + }, + { + id: 'queue', + title: i18n.t('menu.queues'), + type: 'item', + url: '/case-life-cycle/queue', + breadcrumbs: true, + icon: icons.IconForms, + }, + ], + }, + ], }; export default management; diff --git a/apps/react/case-portal/src/menu/workspace.js b/apps/react/case-portal/src/menu/workspace.js index 6bbbdf3d..07e2f4ab 100644 --- a/apps/react/case-portal/src/menu/workspace.js +++ b/apps/react/case-portal/src/menu/workspace.js @@ -1,53 +1,54 @@ import FolderOutlined from '@ant-design/icons/FolderOutlined'; + import { - IconArchive, - IconFileCheck, - IconFileInvoice, - IconList, - IconSquareAsterisk, - IconDatabase -} from '@tabler/icons'; + IconArchive, + IconFileCheck, + IconFileInvoice, + IconList, + IconSquareAsterisk, + IconDatabase, +} from '@tabler/icons-react'; import i18n from '../i18n'; const icons = { - FolderOutlined, - IconFileInvoice, - IconFileCheck, - IconArchive, - IconSquareAsterisk, - IconList, - IconDatabase + FolderOutlined, + IconFileInvoice, + IconFileCheck, + IconArchive, + IconSquareAsterisk, + IconList, + IconDatabase, }; const workspace = { - id: 'utilities', - title: '', - type: 'group', - children: [ - { - id: 'case-list', - title: i18n.t('menu.case'), - type: 'collapse', - icon: icons.FolderOutlined, - children: [] - }, - { - id: 'task-list', - title: i18n.t('menu.task'), - type: 'item', - url: '/task-list', - icon: icons.IconList, - breadcrumbs: true - }, - { - id: 'record-list', - title: i18n.t('menu.record'), - type: 'collapse', - icon: icons.IconDatabase, - children: [] - } - ] + id: 'utilities', + title: '', + type: 'group', + children: [ + { + id: 'case-list', + title: i18n.t('menu.case'), + type: 'collapse', + icon: icons.FolderOutlined, + children: [], + }, + { + id: 'task-list', + title: i18n.t('menu.task'), + type: 'item', + url: '/task-list', + icon: icons.IconList, + breadcrumbs: true, + }, + { + id: 'record-list', + title: i18n.t('menu.record'), + type: 'collapse', + icon: icons.IconDatabase, + children: [], + }, + ], }; export default workspace; diff --git a/apps/react/case-portal/src/plugins/MemoryTokenManager.js b/apps/react/case-portal/src/plugins/MemoryTokenManager.js index b9be98b3..c3669ae7 100644 --- a/apps/react/case-portal/src/plugins/MemoryTokenManager.js +++ b/apps/react/case-portal/src/plugins/MemoryTokenManager.js @@ -1,14 +1,14 @@ var _TokenInMemory_ = null; class MemoryTokenManager { - static getToken() { - return _TokenInMemory_; - } + static getToken() { + return _TokenInMemory_; + } - static setToken(token) { - _TokenInMemory_ = token; - return true; - } + static setToken(token) { + _TokenInMemory_ = token; + return true; + } } export default MemoryTokenManager; diff --git a/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js b/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js index 40f82b30..4b8c0ccb 100644 --- a/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js +++ b/apps/react/case-portal/src/plugins/RegisterInjectUserSession.js @@ -1,24 +1,24 @@ import { Formio } from 'formiojs'; export function RegisterInjectUserSession(keycloak) { - const name = 'injectUserSession'; + const name = 'injectUserSession'; - if (Formio.getPlugin(name)) { - Formio.deregisterPlugin(name); - } + if (Formio.getPlugin(name)) { + Formio.deregisterPlugin(name); + } - Formio.registerPlugin( - { - priority: 0, - preRequest: function (args) { - return new Promise(function (resolve, reject) { - if (args.opts && args.opts.header) { - args.opts.header.set('Authorization', `Bearer ${keycloak.token}`); - } - return resolve(args); - }); - } - }, - 'injectUserSession' - ); + Formio.registerPlugin( + { + priority: 0, + preRequest: function (args) { + return new Promise(function (resolve) { + if (args.opts && args.opts.header) { + args.opts.header.set('Authorization', `Bearer ${keycloak.token}`); + } + return resolve(args); + }); + }, + }, + 'injectUserSession', + ); } diff --git a/apps/react/case-portal/src/plugins/RegisterOptions.js b/apps/react/case-portal/src/plugins/RegisterOptions.js index a62c70a6..f162828c 100644 --- a/apps/react/case-portal/src/plugins/RegisterOptions.js +++ b/apps/react/case-portal/src/plugins/RegisterOptions.js @@ -1,9 +1,9 @@ import MemoryTokenManager from './MemoryTokenManager'; export function RegisteOptions(keycloak) { - if (keycloak == null) { - MemoryTokenManager.setToken(null); - } else { - MemoryTokenManager.setToken(keycloak.token); - } + if (keycloak == null) { + MemoryTokenManager.setToken(null); + } else { + MemoryTokenManager.setToken(keycloak.token); + } } diff --git a/apps/react/case-portal/src/plugins/storage/index.js b/apps/react/case-portal/src/plugins/storage/index.js index 9af80c20..2a524c9f 100644 --- a/apps/react/case-portal/src/plugins/storage/index.js +++ b/apps/react/case-portal/src/plugins/storage/index.js @@ -3,153 +3,155 @@ import Config from '../../consts'; import MemoryTokenManager from '../MemoryTokenManager'; export class StorageService { - async uploadFile(storage, file, fileName, dir, evt, url, options) { - return minio().uploadFile(file, fileName, dir, evt, null, null, null, null, () => null); - } - - async deleteFile(fileInfo) { - //do something - } - - async downloadFile(fileInfo, options) { - return minio().downloadFile(fileInfo); - } + async uploadFile(file, fileName, dir, evt) { + return minio().uploadFile( + file, + fileName, + dir, + evt, + null, + null, + null, + null, + () => null, + ); + } + + async deleteFile() { + //do something + } + + async downloadFile(fileInfo) { + return minio().downloadFile(fileInfo); + } } export function minio() { - function createHeaders() { - return { - headers: { - Authorization: `Bearer ${MemoryTokenManager.getToken()}` - } - }; - } - + function createHeaders() { return { - uploadFile( - file, - fileName, - dir, - progressCallback, - url, - options, - fileKey, - groupPermissions, - groupId, - abortCallback - ) { - function doUpload(url, fd) { - return new Promise((resolve, reject) => { - let request = new XMLHttpRequest(); - - request.open('POST', url); - - request.addEventListener('openAndSetHeaders', function (...params) { - request.open(...params); - request.setRequestHeader('Authorization', `Bearer ${Formio.getToken()}`); - }); - - request.upload.addEventListener('progress', function (e) { - if (typeof progressCallback === 'function') { - progressCallback(e); - } - - if (typeof abortCallback === 'function') { - abortCallback(() => request.abort()); - } - }); - - request.addEventListener('load', function (e) { - if (request.status >= 200 && request.status < 300) { - resolve({ - storage: 'minio', - dir: dir, - name: file.name, - url: file.name, - size: file.size, - type: file.type - }); - } else { - reject(request.response || 'Unable to upload file'); - } - }); - - request.addEventListener('error', function (e) { - e.networkError = true; - reject(e); - }); - - request.addEventListener('abort', function (e) { - e.networkError = true; - reject(e); - }); - - request.send(fd); - }); + headers: { + Authorization: `Bearer ${MemoryTokenManager.getToken()}`, + }, + }; + } + + return { + uploadFile(file, dir, progressCallback, abortCallback) { + function doUpload(url, fd) { + return new Promise((resolve, reject) => { + let request = new XMLHttpRequest(); + + request.open('POST', url); + + request.addEventListener('openAndSetHeaders', function (...params) { + request.open(...params); + request.setRequestHeader( + 'Authorization', + `Bearer ${Formio.getToken()}`, + ); + }); + + request.upload.addEventListener('progress', function (e) { + if (typeof progressCallback === 'function') { + progressCallback(e); } - let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`; - if (!dir) { - goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`; + if (typeof abortCallback === 'function') { + abortCallback(() => request.abort()); } - - return fetch(goUploadToFileUrl, createHeaders()) - .then((resp) => resp.json()) - .then((data) => { - const form = new FormData(); - - for (const key in data.formData) { - form.append(key, data.formData[key]); - } - - if (!dir) { - form.append('key', file.name); - } else { - form.append('key', dir + '/' + file.name); - } - - form.append('content-type', file.type); - form.append('file', file); - - return doUpload(data.url, form); - }); - }, - downloadFile(file) { - let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`; - if (!file.dir) { - getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`; + }); + + request.addEventListener('load', function () { + if (request.status >= 200 && request.status < 300) { + resolve({ + storage: 'minio', + dir: dir, + name: file.name, + url: file.name, + size: file.size, + type: file.type, + }); + } else { + reject(request.response || 'Unable to upload file'); } - - return fetch(getObjectForUrl, createHeaders()) - .then((resp) => resp.json()) - .then(async (data) => { - const resp = await fetch(data.url); - const blob = await resp.blob(); - const downloadUrl = window.URL.createObjectURL(blob); - - const anchor = document.createElement('a'); - document.body.appendChild(anchor); - anchor.href = downloadUrl; - - const url = new URL(data.url); - if (url.pathname) { - anchor.download = url.pathname - .slice(url.pathname.lastIndexOf('/') + 1) - .replaceAll("'"); - } else { - anchor.download = downloadUrl; - } - - anchor.click(); - - setTimeout(() => { - window.URL.revokeObjectURL(downloadUrl); - document.body.removeChild(anchor); - }, 0); - return; - }); - } - }; + }); + + request.addEventListener('error', function (e) { + e.networkError = true; + reject(e); + }); + + request.addEventListener('abort', function (e) { + e.networkError = true; + reject(e); + }); + + request.send(fd); + }); + } + + let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`; + if (!dir) { + goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`; + } + + return fetch(goUploadToFileUrl, createHeaders()) + .then((resp) => resp.json()) + .then((data) => { + const form = new FormData(); + + for (const key in data.formData) { + form.append(key, data.formData[key]); + } + + if (!dir) { + form.append('key', file.name); + } else { + form.append('key', dir + '/' + file.name); + } + + form.append('content-type', file.type); + form.append('file', file); + + return doUpload(data.url, form); + }); + }, + downloadFile(file) { + let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`; + if (!file.dir) { + getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`; + } + + return fetch(getObjectForUrl, createHeaders()) + .then((resp) => resp.json()) + .then(async (data) => { + const resp = await fetch(data.url); + const blob = await resp.blob(); + const downloadUrl = window.URL.createObjectURL(blob); + + const anchor = document.createElement('a'); + document.body.appendChild(anchor); + anchor.href = downloadUrl; + + const url = new URL(data.url); + if (url.pathname) { + anchor.download = url.pathname + .slice(url.pathname.lastIndexOf('/') + 1) + .replaceAll('\''); + } else { + anchor.download = downloadUrl; + } + + anchor.click(); + + setTimeout(() => { + window.URL.revokeObjectURL(downloadUrl); + document.body.removeChild(anchor); + }, 0); + return; + }); + }, + }; } minio.title = 's3'; diff --git a/apps/react/case-portal/src/reportWebVitals.js b/apps/react/case-portal/src/reportWebVitals.js deleted file mode 100644 index 17f8ad17..00000000 --- a/apps/react/case-portal/src/reportWebVitals.js +++ /dev/null @@ -1,13 +0,0 @@ -const reportWebVitals = (onPerfEntry) => { - if (onPerfEntry && onPerfEntry instanceof Function) { - import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { - getCLS(onPerfEntry); - getFID(onPerfEntry); - getFCP(onPerfEntry); - getLCP(onPerfEntry); - getTTFB(onPerfEntry); - }); - } -}; - -export default reportWebVitals; diff --git a/apps/react/case-portal/src/routes/MainRoutes.js b/apps/react/case-portal/src/routes/MainRoutes.js index d504ad11..8b62eaa0 100644 --- a/apps/react/case-portal/src/routes/MainRoutes.js +++ b/apps/react/case-portal/src/routes/MainRoutes.js @@ -11,98 +11,107 @@ import { FormList } from 'views/management/form/formList'; import { RecordTypeList } from 'views/management/recordType/recordTypeList'; import { QueueList } from 'views/management/queue/queueList'; -const ManagamentDefault = Loadable(lazy(() => import('views/management'))); -const DashboardDefault = Loadable(lazy(() => import('views/dashboard'))); +const ManagamentDefault = Loadable(lazy(() => import('../views/management'))); +const DashboardDefault = Loadable(lazy(() => import('../views/dashboard'))); -export const MainRoutes = (keycloak, authenticated, recordsTypes, casesDefinitions) => { - let routes = { +export const MainRoutes = ( + keycloak, + authenticated, + recordsTypes, + casesDefinitions, +) => { + let routes = { + path: '/', + element: , + children: [ + { path: '/', - element: , - children: [ - { - path: '/', - element: - }, + element: , + }, - { - path: 'home', - element: - }, - { - path: 'case-list', - children: [ - { - path: 'cases', - element: - }, - { - path: 'wip-cases', - element: - }, - { - path: 'closed-cases', - element: - }, - { - path: 'archived-cases', - element: - } - ] - }, - { - path: 'task-list', - element: - }, - { - path: 'system', - children: [ - { - path: 'look-and-feel', - element: - } - ] - }, - { - path: 'case-life-cycle', - children: [ - { - path: 'process-definition', - element: - }, - { - path: 'case-definition', - element: - }, - { - path: 'record-type', - element: - }, - { - path: 'form', - element: - }, - { - path: 'queue', - element: - } - ] - } - ] - }; + { + path: 'home', + element: , + }, + { + path: 'case-list', + children: [ + { + path: 'cases', + element: , + }, + { + path: 'wip-cases', + element: , + }, + { + path: 'closed-cases', + element: ( + + ), + }, + { + path: 'archived-cases', + element: ( + + ), + }, + ], + }, + { + path: 'task-list', + element: , + }, + { + path: 'system', + children: [ + { + path: 'look-and-feel', + element: , + }, + ], + }, + { + path: 'case-life-cycle', + children: [ + { + path: 'process-definition', + element: , + }, + { + path: 'case-definition', + element: , + }, + { + path: 'record-type', + element: , + }, + { + path: 'form', + element: , + }, + { + path: 'queue', + element: , + }, + ], + }, + ], + }; - casesDefinitions.forEach((element) => { - routes.children.push({ - path: 'case-list/' + element.id, - element: - }); + casesDefinitions.forEach((element) => { + routes.children.push({ + path: 'case-list/' + element.id, + element: , }); + }); - recordsTypes.forEach((element) => { - routes.children.push({ - path: 'record-list/' + element.id, - element: - }); + recordsTypes.forEach((element) => { + routes.children.push({ + path: 'record-list/' + element.id, + element: , }); + }); - return routes; + return routes; }; diff --git a/apps/react/case-portal/src/routes/index.js b/apps/react/case-portal/src/routes/index.js index 38af2509..8f736d08 100644 --- a/apps/react/case-portal/src/routes/index.js +++ b/apps/react/case-portal/src/routes/index.js @@ -1,6 +1,13 @@ import { useRoutes } from 'react-router-dom'; import { MainRoutes } from './MainRoutes'; -export const ThemeRoutes = ({ keycloak, authenticated, recordsTypes, casesDefinitions }) => { - return useRoutes([MainRoutes(keycloak, authenticated, recordsTypes, casesDefinitions)]); +export const ThemeRoutes = ({ + keycloak, + authenticated, + recordsTypes, + casesDefinitions, +}) => { + return useRoutes([ + MainRoutes(keycloak, authenticated, recordsTypes, casesDefinitions), + ]); }; diff --git a/apps/react/case-portal/src/services/CaseDefService.js b/apps/react/case-portal/src/services/CaseDefService.js index f06bdc08..425aff04 100644 --- a/apps/react/case-portal/src/services/CaseDefService.js +++ b/apps/react/case-portal/src/services/CaseDefService.js @@ -2,87 +2,87 @@ import { json, nop } from './request'; import Config from '../consts'; export const CaseDefService = { - create, - update, - remove, - getAll + create, + update, + remove, + getAll, }; async function create(keycloak, body) { - const url = `${Config.CaseEngineUrl}/case-definition`; + const url = `${Config.CaseEngineUrl}/case-definition`; - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function update(keycloak, id, body) { - const url = `${Config.CaseEngineUrl}/case-definition/${id}`; + const url = `${Config.CaseEngineUrl}/case-definition/${id}`; - try { - const resp = await fetch(url, { - method: 'PUT', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'PUT', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function remove(keycloak, id) { - const url = `${Config.CaseEngineUrl}/case-definition/${id}`; + const url = `${Config.CaseEngineUrl}/case-definition/${id}`; - try { - const resp = await fetch(url, { - method: 'DELETE', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'DELETE', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function getAll(keycloak) { - if (keycloak.isTokenExpired()) { - keycloak.logout({ redirectUri: window.location.origin }); - } + if (keycloak.isTokenExpired()) { + keycloak.logout({ redirectUri: window.location.origin }); + } - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/case-definition`; + var url = `${Config.CaseEngineUrl}/case-definition`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } diff --git a/apps/react/case-portal/src/services/CaseService.js b/apps/react/case-portal/src/services/CaseService.js index 0762f666..57224995 100644 --- a/apps/react/case-portal/src/services/CaseService.js +++ b/apps/react/case-portal/src/services/CaseService.js @@ -3,274 +3,276 @@ import i18n from '../i18n'; import { json, nop } from './request'; export const CaseService = { - getAllByStatus, - getCaseDefinitions, - getCaseDefinitionsById, - getCaseById, - filterCase, - createCase, - patch, - addDocuments, - addComment, - updateComment, - deleteComment + getAllByStatus, + getCaseDefinitions, + getCaseDefinitionsById, + getCaseById, + filterCase, + createCase, + patch, + addDocuments, + addComment, + updateComment, + deleteComment, }; async function getAllByStatus(keycloak, status, limit) { - if (!status) { - return Promise.resolve([]); - } - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - var url = `${Config.CaseEngineUrl}/case?status=${status}&limit=${limit}`; - - try { - const resp = await fetch(url, { headers }); - const data = await json(keycloak, resp); - return mapperToCase(data); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + if (!status) { + return Promise.resolve([]); + } + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + var url = `${Config.CaseEngineUrl}/case?status=${status}&limit=${limit}`; + + try { + const resp = await fetch(url, { headers }); + const data = await json(keycloak, resp); + return mapperToCase(data); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function getCaseDefinitions(keycloak) { - const url = `${Config.CaseEngineUrl}/case-definition?deployed=true`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case-definition?deployed=true`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function getCaseDefinitionsById(keycloak, caseDefId) { - const url = `${Config.CaseEngineUrl}/case-definition/${caseDefId || ''}`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case-definition/${caseDefId || ''}`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function getCaseById(keycloak, id) { - let url = `${Config.CaseEngineUrl}/case/${id}`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + let url = `${Config.CaseEngineUrl}/case/${id}`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function filterCase(keycloak, caseDefId, status, cursor) { - let url = `${Config.CaseEngineUrl}/case?`; - url = url + (status ? `status=${status}` : ''); - url = url + (caseDefId ? `&caseDefinitionId=${caseDefId}` : ''); - url = url + `&before=${cursor.before || ''}`; - url = url + `&after=${cursor.after || ''}`; - url = url + `&sort=${cursor.sort || 'asc'}`; - url = url + `&limit=${cursor.limit || 10}`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - const data = await json(keycloak, resp); - return mapperToCase(data); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + let url = `${Config.CaseEngineUrl}/case?`; + url = url + (status ? `status=${status}` : ''); + url = url + (caseDefId ? `&caseDefinitionId=${caseDefId}` : ''); + url = url + `&before=${cursor.before || ''}`; + url = url + `&after=${cursor.after || ''}`; + url = url + `&sort=${cursor.sort || 'asc'}`; + url = url + `&limit=${cursor.limit || 10}`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + const data = await json(keycloak, resp); + return mapperToCase(data); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function patch(keycloak, id, body) { - const url = `${Config.CaseEngineUrl}/case/${id}`; - - try { - const resp = await fetch(url, { - method: 'PATCH', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/merge-patch+json', - Authorization: `Bearer ${keycloak.token}` - }, - body: body - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case/${id}`; + + try { + const resp = await fetch(url, { + method: 'PATCH', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/merge-patch+json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: body, + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function createCase(keycloak, body) { - const url = `${Config.CaseEngineUrl}/case`; - - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: body - }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + const url = `${Config.CaseEngineUrl}/case`; + + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: body, + }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function addDocuments(keycloak, businessKey, document) { - const url = `${Config.CaseEngineUrl}/case/${businessKey}/document`; - - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(document) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case/${businessKey}/document`; + + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(document), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function addComment(keycloak, text, parentId, businessKey) { - const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment`; - - const comment = { - body: text, - parentId, - userId: keycloak.tokenParsed.preferred_username, - userName: keycloak.tokenParsed.given_name, - caseId: businessKey - }; - - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(comment) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment`; + + const comment = { + body: text, + parentId, + userId: keycloak.tokenParsed.preferred_username, + userName: keycloak.tokenParsed.given_name, + caseId: businessKey, + }; + + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(comment), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function updateComment(keycloak, text, commentId, businessKey) { - const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`; - - const comment = { - id: commentId, - body: text, - userId: keycloak.tokenParsed.preferred_username, - caseId: businessKey - }; - - try { - const resp = await fetch(url, { - method: 'PUT', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(comment) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`; + + const comment = { + id: commentId, + body: text, + userId: keycloak.tokenParsed.preferred_username, + caseId: businessKey, + }; + + try { + const resp = await fetch(url, { + method: 'PUT', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(comment), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function deleteComment(keycloak, commentId, businessKey) { - const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`; - - try { - const resp = await fetch(url, { - method: 'DELETE', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/case/${businessKey}/comment/${commentId}`; + + try { + const resp = await fetch(url, { + method: 'DELETE', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } function mapperToCase(resp) { - const { data, paging } = resp; - - if (!data.length) { - return Promise.resolve({ data: [], paging: {} }); - } - - const toStatus = (status) => { - const mapper = { - WIP_CASE_STATUS: i18n.t('general.case.status.wip'), - CLOSED_CASE_STATUS: i18n.t('general.case.status.closed'), - ARCHIVED_CASE_STATUS: i18n.t('general.case.status.archived') - }; + const { data, paging } = resp; - return mapper[status] || '-'; - }; - - const toCase = data.map((element) => { - const createdAt = element?.attributes?.find((attribute) => attribute.name === 'createdAt'); - element.createdAt = createdAt ? createdAt.value : ''; - element.statusDescription = toStatus(element.status); - return element; - }); + if (!data.length) { + return Promise.resolve({ data: [], paging: {} }); + } - const toPaging = { - cursors: paging.cursors, - hasPrevious: paging.hasPrevious, - hasNext: paging.hasNext + const toStatus = (status) => { + const mapper = { + WIP_CASE_STATUS: i18n.t('general.case.status.wip'), + CLOSED_CASE_STATUS: i18n.t('general.case.status.closed'), + ARCHIVED_CASE_STATUS: i18n.t('general.case.status.archived'), }; - return Promise.resolve({ data: toCase, paging: toPaging }); + return mapper[status] || '-'; + }; + + const toCase = data.map((element) => { + const createdAt = element?.attributes?.find( + (attribute) => attribute.name === 'createdAt', + ); + element.createdAt = createdAt ? createdAt.value : ''; + element.statusDescription = toStatus(element.status); + return element; + }); + + const toPaging = { + cursors: paging.cursors, + hasPrevious: paging.hasPrevious, + hasNext: paging.hasNext, + }; + + return Promise.resolve({ data: toCase, paging: toPaging }); } diff --git a/apps/react/case-portal/src/services/DeploymentService.js b/apps/react/case-portal/src/services/DeploymentService.js index 1ed30095..2c381007 100644 --- a/apps/react/case-portal/src/services/DeploymentService.js +++ b/apps/react/case-portal/src/services/DeploymentService.js @@ -2,25 +2,25 @@ import { nop } from './request'; import Config from 'consts/index'; export const DeploymentService = { - deploy + deploy, }; async function deploy(keycloak, file) { - const url = `${Config.CaseEngineUrl}/deployment`; + const url = `${Config.CaseEngineUrl}/deployment`; - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: file - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } -} \ No newline at end of file + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: file, + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } +} diff --git a/apps/react/case-portal/src/services/EmailService.js b/apps/react/case-portal/src/services/EmailService.js index 7f09cab1..ce7066f9 100644 --- a/apps/react/case-portal/src/services/EmailService.js +++ b/apps/react/case-portal/src/services/EmailService.js @@ -2,41 +2,41 @@ import { json } from './request'; import Config from '../consts'; export const EmailService = { - send, - getAllByBusinessKey + send, + getAllByBusinessKey, }; async function send(keycloak, body) { - const url = `${Config.CaseEngineUrl}/case-email`; + const url = `${Config.CaseEngineUrl}/case-email`; - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function getAllByBusinessKey(keycloak, caseInstanceBusinessKey) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/case-email?caseInstanceBusinessKey=${caseInstanceBusinessKey}`; + var url = `${Config.CaseEngineUrl}/case-email?caseInstanceBusinessKey=${caseInstanceBusinessKey}`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } diff --git a/apps/react/case-portal/src/services/FileService.js b/apps/react/case-portal/src/services/FileService.js index 2f461f12..689dbfa4 100644 --- a/apps/react/case-portal/src/services/FileService.js +++ b/apps/react/case-portal/src/services/FileService.js @@ -1,124 +1,124 @@ import Config from '../consts'; export const FileService = { - upload, - download + upload, + download, }; function upload({ dir, file, progress, keycloak }) { - function doUpload(url, fd) { - return new Promise((resolve, reject) => { - let request = new XMLHttpRequest(); - - request.open('POST', url); - - request.addEventListener('openAndSetHeaders', function (...params) { - request.open(...params); - request.setRequestHeader('Authorization', `Bearer ${keycloak.token}`); - }); - - request.upload.addEventListener('progress', function (e) { - if (typeof progress === 'function') { - progress(e, (e.loaded / e.total) * 100); - } - }); - - request.addEventListener('load', function (e) { - if (request.status >= 200 && request.status < 300) { - resolve({ - storage: 'minio', - dir: dir, - name: file.name, - url: file.name, - size: file.size, - type: file.type - }); - } else { - reject(request.response || 'Unable to upload file'); - } - }); - - request.addEventListener('error', function (e) { - e.networkError = true; - reject(e); - }); - - request.addEventListener('abort', function (e) { - e.networkError = true; - reject(e); - }); - - request.send(fd); - }); - } - - let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`; - if (!dir) { - goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`; - } - - return fetch(goUploadToFileUrl, createHeaders(keycloak)) - .then((resp) => resp.json()) - .then((data) => { - const form = new FormData(); - - for (const key in data.formData) { - form.append(key, data.formData[key]); - } - - if (!dir) { - form.append('key', file.name); - } else { - form.append('key', dir + '/' + file.name); - } - - form.append('content-type', file.type); - form.append('file', file); - - return doUpload(data.url, form); - }); + function doUpload(url, fd) { + return new Promise((resolve, reject) => { + let request = new XMLHttpRequest(); + + request.open('POST', url); + + request.addEventListener('openAndSetHeaders', function (...params) { + request.open(...params); + request.setRequestHeader('Authorization', `Bearer ${keycloak.token}`); + }); + + request.upload.addEventListener('progress', function (e) { + if (typeof progress === 'function') { + progress(e, (e.loaded / e.total) * 100); + } + }); + + request.addEventListener('load', function () { + if (request.status >= 200 && request.status < 300) { + resolve({ + storage: 'minio', + dir: dir, + name: file.name, + url: file.name, + size: file.size, + type: file.type, + }); + } else { + reject(request.response || 'Unable to upload file'); + } + }); + + request.addEventListener('error', function (e) { + e.networkError = true; + reject(e); + }); + + request.addEventListener('abort', function (e) { + e.networkError = true; + reject(e); + }); + + request.send(fd); + }); + } + + let goUploadToFileUrl = `${Config.StorageUrl}/storage/files/${dir}/uploads/${file.name}?content-type=${file.type}`; + if (!dir) { + goUploadToFileUrl = `${Config.StorageUrl}/storage/files/uploads/${file.name}?content-type=${file.type}`; + } + + return fetch(goUploadToFileUrl, createHeaders(keycloak)) + .then((resp) => resp.json()) + .then((data) => { + const form = new FormData(); + + for (const key in data.formData) { + form.append(key, data.formData[key]); + } + + if (!dir) { + form.append('key', file.name); + } else { + form.append('key', dir + '/' + file.name); + } + + form.append('content-type', file.type); + form.append('file', file); + + return doUpload(data.url, form); + }); } function download(file, keycloak) { - let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`; - if (!file.dir) { - getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`; - } - - return fetch(getObjectForUrl, createHeaders(keycloak)) - .then((resp) => resp.json()) - .then(async (data) => { - const resp = await fetch(data.url); - const blob = await resp.blob(); - const downloadUrl = window.URL.createObjectURL(blob); - - const anchor = document.createElement('a'); - document.body.appendChild(anchor); - anchor.href = downloadUrl; - - const url = new URL(data.url); - if (url.pathname) { - anchor.download = url.pathname - .slice(url.pathname.lastIndexOf('/') + 1) - .replaceAll("'"); - } else { - anchor.download = downloadUrl; - } - - anchor.click(); - - setTimeout(() => { - window.URL.revokeObjectURL(downloadUrl); - document.body.removeChild(anchor); - }, 0); - return; - }); + let getObjectForUrl = `${Config.StorageUrl}/storage/files/${file.dir}/downloads/${file.name}?content-type=${file.type}`; + if (!file.dir) { + getObjectForUrl = `${Config.StorageUrl}/storage/files/downloads/${file.name}?content-type=${file.type}`; + } + + return fetch(getObjectForUrl, createHeaders(keycloak)) + .then((resp) => resp.json()) + .then(async (data) => { + const resp = await fetch(data.url); + const blob = await resp.blob(); + const downloadUrl = window.URL.createObjectURL(blob); + + const anchor = document.createElement('a'); + document.body.appendChild(anchor); + anchor.href = downloadUrl; + + const url = new URL(data.url); + if (url.pathname) { + anchor.download = url.pathname + .slice(url.pathname.lastIndexOf('/') + 1) + .replaceAll('\''); + } else { + anchor.download = downloadUrl; + } + + anchor.click(); + + setTimeout(() => { + window.URL.revokeObjectURL(downloadUrl); + document.body.removeChild(anchor); + }, 0); + return; + }); } function createHeaders(keycloak) { - return { - headers: { - Authorization: `Bearer ${keycloak.token}` - } - }; + return { + headers: { + Authorization: `Bearer ${keycloak.token}`, + }, + }; } diff --git a/apps/react/case-portal/src/services/FormService.js b/apps/react/case-portal/src/services/FormService.js index 31038d3e..c656e7c7 100644 --- a/apps/react/case-portal/src/services/FormService.js +++ b/apps/react/case-portal/src/services/FormService.js @@ -2,119 +2,119 @@ import { json, nop } from './request'; import Config from '../consts'; export const FormService = { - getAll, - getByKey, - getVariableById, - update, - remove, - create + getAll, + getByKey, + getVariableById, + update, + remove, + create, }; async function create(keycloak, body) { - const url = `${Config.CaseEngineUrl}/form`; - - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + const url = `${Config.CaseEngineUrl}/form`; + + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function update(keycloak, id, body) { - const url = `${Config.CaseEngineUrl}/form/${id}`; - - try { - const resp = await fetch(url, { - method: 'PATCH', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + const url = `${Config.CaseEngineUrl}/form/${id}`; + + try { + const resp = await fetch(url, { + method: 'PATCH', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function remove(keycloak, id) { - const url = `${Config.CaseEngineUrl}/form/${id}`; - - try { - const resp = await fetch(url, { - method: 'DELETE', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + const url = `${Config.CaseEngineUrl}/form/${id}`; + + try { + const resp = await fetch(url, { + method: 'DELETE', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function getAll(keycloak) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - var url = `${Config.CaseEngineUrl}/form`; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + var url = `${Config.CaseEngineUrl}/form`; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function getByKey(keycloak, formKey) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - var url = `${Config.CaseEngineUrl}/form/${formKey}`; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + var url = `${Config.CaseEngineUrl}/form/${formKey}`; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function getVariableById(keycloak, processInstanceId) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - const body = JSON.stringify({ processInstanceId }); + const body = JSON.stringify({ processInstanceId }); - var url = `${Config.CaseEngineUrl}/variable`; + var url = `${Config.CaseEngineUrl}/variable`; - try { - const resp = await fetch(url, { headers, body }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers, body }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } diff --git a/apps/react/case-portal/src/services/NotificationService.js b/apps/react/case-portal/src/services/NotificationService.js index 1e0327c7..4d70a347 100644 --- a/apps/react/case-portal/src/services/NotificationService.js +++ b/apps/react/case-portal/src/services/NotificationService.js @@ -1,72 +1,75 @@ -import * as React from 'react'; import moment from 'moment'; import { CaseService } from './CaseService'; import { Typography } from '@mui/material'; export const NotificationService = { - getNotifications + getNotifications, }; async function getNotifications(keycloak) { - function truncIfAboveFiveElements(resp) { - const { data } = resp; + function truncIfAboveFiveElements(resp) { + const { data } = resp; - if (!data || !data.length) { - return Promise.resolve({ data: [], page: {} }); - } - - return Promise.resolve({ - data: data.splice(0, Math.min(4, data.length)), - page: { - total: data.length, - limit: 5 - } - }); + if (!data || !data.length) { + return Promise.resolve({ data: [], page: {} }); } - function toMessage({ data, page }) { - return Promise.resolve( - data.map((it) => { - function getEventType(s) { - const mapper = { - 'Data Collection': 'data_collection_stg', - 'Contract Writing': 'contract_writing_stg', - 'Info & Docs Analysis': 'info_docs_analysis_stg' - }; + return Promise.resolve({ + data: data.splice(0, Math.min(4, data.length)), + page: { + total: data.length, + limit: 5, + }, + }); + } - return mapper[s] || 'data_collection_stg'; - } + function toMessage({ data, page }) { + return Promise.resolve( + data.map((it) => { + function getEventType(s) { + const mapper = { + 'Data Collection': 'data_collection_stg', + 'Contract Writing': 'contract_writing_stg', + 'Info & Docs Analysis': 'info_docs_analysis_stg', + }; - return { - ...data, - createdAt: moment(it.createdAt, 'DD/MM/YYYY').calendar(), - daysAgo: moment(it.createdAt, 'DD/MM/YYYY').startOf('day').fromNow(), - eventType: getEventType(it.stage), - total: page.total, - message: ( - - Case{' '} - - #{it.businessKey} - {' '} - in{' '} - - {it.stage} - {' '} - stage - - ) - }; - }) - ); - } + return mapper[s] || 'data_collection_stg'; + } - try { - const resp = await CaseService.getAllByStatus(keycloak, 'WIP_CASE_STATUS', 5); - const data = await truncIfAboveFiveElements(resp); - return toMessage(data); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + return { + ...data, + createdAt: moment(it.createdAt, 'DD/MM/YYYY').calendar(), + daysAgo: moment(it.createdAt, 'DD/MM/YYYY').startOf('day').fromNow(), + eventType: getEventType(it.stage), + total: page.total, + message: ( + + Case{' '} + + #{it.businessKey} + {' '} + in{' '} + + {it.stage} + {' '} + stage + + ), + }; + }), + ); + } + + try { + const resp = await CaseService.getAllByStatus( + keycloak, + 'WIP_CASE_STATUS', + 5, + ); + const data = await truncIfAboveFiveElements(resp); + return toMessage(data); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } diff --git a/apps/react/case-portal/src/services/ProcessDefService.js b/apps/react/case-portal/src/services/ProcessDefService.js index ac0d742f..fffd5314 100644 --- a/apps/react/case-portal/src/services/ProcessDefService.js +++ b/apps/react/case-portal/src/services/ProcessDefService.js @@ -2,64 +2,63 @@ import { json } from './request'; import Config from 'consts/index'; export const ProcessDefService = { - start, - find, - getBPMNXml + start, + find, + getBPMNXml, }; async function start(keycloak, procDefKey, businessKey) { - const url = `${Config.CaseEngineUrl}/process-definition/key/${procDefKey}/start`; + const url = `${Config.CaseEngineUrl}/process-definition/key/${procDefKey}/start`; - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify({ 'businessKey': businessKey }) - }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify({ businessKey: businessKey }), + }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function find(keycloak) { - if (keycloak.isTokenExpired()) { - keycloak.logout({ redirectUri: window.location.origin }); - } + if (keycloak.isTokenExpired()) { + keycloak.logout({ redirectUri: window.location.origin }); + } - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/process-definition`; + var url = `${Config.CaseEngineUrl}/process-definition`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function getBPMNXml(keycloak, processDefId) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/process-definition/${processDefId}/xml`; + var url = `${Config.CaseEngineUrl}/process-definition/${processDefId}/xml`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp.text()); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp.text()); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } - diff --git a/apps/react/case-portal/src/services/QueueService.js b/apps/react/case-portal/src/services/QueueService.js index 0ab83126..10e42b5d 100644 --- a/apps/react/case-portal/src/services/QueueService.js +++ b/apps/react/case-portal/src/services/QueueService.js @@ -2,100 +2,100 @@ import Config from '../consts'; import { json, nop } from './request'; export const QueueService = { - find, - get, - update, - remove, - save + find, + get, + update, + remove, + save, }; async function save(keycloak, body) { - const url = `${Config.CaseEngineUrl}/queue`; + const url = `${Config.CaseEngineUrl}/queue`; - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function update(keycloak, id, body) { - const url = `${Config.CaseEngineUrl}/queue/${id}`; + const url = `${Config.CaseEngineUrl}/queue/${id}`; - try { - const resp = await fetch(url, { - method: 'PUT', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'PUT', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function remove(keycloak, id) { - const url = `${Config.CaseEngineUrl}/queue/${id}`; + const url = `${Config.CaseEngineUrl}/queue/${id}`; - try { - const resp = await fetch(url, { - method: 'DELETE', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return nop(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { + method: 'DELETE', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return nop(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function find(keycloak) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/queue`; + var url = `${Config.CaseEngineUrl}/queue`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } async function get(keycloak, id) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/queue/${id}`; + var url = `${Config.CaseEngineUrl}/queue/${id}`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } -} \ No newline at end of file + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } +} diff --git a/apps/react/case-portal/src/services/RecordService.js b/apps/react/case-portal/src/services/RecordService.js index b4aaa481..b5921fa6 100644 --- a/apps/react/case-portal/src/services/RecordService.js +++ b/apps/react/case-portal/src/services/RecordService.js @@ -2,138 +2,138 @@ import { json, nop } from './request'; import Config from '../consts'; export const RecordService = { - getRecordTypeById, - getAllRecordTypes, - createRecordType, - getRecordById, - updateRecord, - createRecord, - deleteRecord + getRecordTypeById, + getAllRecordTypes, + createRecordType, + getRecordById, + updateRecord, + createRecord, + deleteRecord, }; async function getRecordById(keycloak, id) { - const url = `${Config.CaseEngineUrl}/record/${id}`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record/${id}`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function getAllRecordTypes(keycloak) { - const url = `${Config.CaseEngineUrl}/record-type`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record-type`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function getRecordTypeById(keycloak, id) { - const url = `${Config.CaseEngineUrl}/record-type/${id}`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record-type/${id}`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function createRecordType(keycloak, id, data) { - const url = `${Config.CaseEngineUrl}/record-type/${id}`; - - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(data) - }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record-type/${id}`; + + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(data), + }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function createRecord(keycloak, id, data) { - const url = `${Config.CaseEngineUrl}/record/${id}`; - - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(data) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record/${id}`; + + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(data), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function updateRecord(keycloak, id, oid, data) { - const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`; - - try { - const resp = await fetch(url, { - method: 'PATCH', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(data) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`; + + try { + const resp = await fetch(url, { + method: 'PATCH', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(data), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function deleteRecord(keycloak, id, oid) { - const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`; - - try { - const resp = await fetch(url, { - method: 'DELETE', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/record/${id}/${oid}`; + + try { + const resp = await fetch(url, { + method: 'DELETE', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } diff --git a/apps/react/case-portal/src/services/RecordTypeService.js b/apps/react/case-portal/src/services/RecordTypeService.js index 53122176..1c8713ca 100644 --- a/apps/react/case-portal/src/services/RecordTypeService.js +++ b/apps/react/case-portal/src/services/RecordTypeService.js @@ -2,85 +2,85 @@ import { json, nop } from './request'; import Config from '../consts'; export const RecordTypeService = { - create, - update, - remove, - getAll + create, + update, + remove, + getAll, }; async function getAll(keycloak) { - const url = `${Config.CaseEngineUrl}/record-type`; + const url = `${Config.CaseEngineUrl}/record-type`; - try { - const resp = await fetch(url, { - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + try { + const resp = await fetch(url, { + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function create(keycloak, data) { - const url = `${Config.CaseEngineUrl}/record-type`; + const url = `${Config.CaseEngineUrl}/record-type`; - try { - const resp = await fetch(url, { - method: 'POST', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(data) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + try { + const resp = await fetch(url, { + method: 'POST', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(data), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function update(keycloak, id, data) { - const url = `${Config.CaseEngineUrl}/record-type/${id}`; + const url = `${Config.CaseEngineUrl}/record-type/${id}`; - try { - const resp = await fetch(url, { - method: 'PATCH', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }, - body: JSON.stringify(data) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + try { + const resp = await fetch(url, { + method: 'PATCH', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + body: JSON.stringify(data), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function remove(keycloak, id) { - const url = `${Config.CaseEngineUrl}/record-type/${id}`; + const url = `${Config.CaseEngineUrl}/record-type/${id}`; - try { - const resp = await fetch(url, { - method: 'DELETE', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - } - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + try { + const resp = await fetch(url, { + method: 'DELETE', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }, + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } diff --git a/apps/react/case-portal/src/services/TaskService.js b/apps/react/case-portal/src/services/TaskService.js index 9b23c836..79d3b047 100644 --- a/apps/react/case-portal/src/services/TaskService.js +++ b/apps/react/case-portal/src/services/TaskService.js @@ -2,149 +2,149 @@ import { json, nop } from './request'; import Config from 'consts/index'; export const TaskService = { - getActivityInstancesById, - claim, - unclaim, - complete, - createNewTask, - filterTasks, - filterProcessInstances + getActivityInstancesById, + claim, + unclaim, + complete, + createNewTask, + filterTasks, + filterProcessInstances, }; async function getActivityInstancesById(keycloak, processInstanceId) { - const url = `${Config.CaseEngineUrl}/process-instance/${processInstanceId}/activity-instances`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/process-instance/${processInstanceId}/activity-instances`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function claim(keycloak, taskId) { - const url = `${Config.CaseEngineUrl}/task/${taskId}/claim/${keycloak.idTokenParsed.given_name}`; - - const headers = { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { method: 'POST', headers }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/task/${taskId}/claim/${keycloak.idTokenParsed.given_name}`; + + const headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { method: 'POST', headers }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function unclaim(keycloak, taskId) { - const url = `${Config.CaseEngineUrl}/task/${taskId}/unclaim`; - - const headers = { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { method: 'POST', headers }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/task/${taskId}/unclaim`; + + const headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { method: 'POST', headers }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function complete(keycloak, taskId, body) { - const url = `${Config.CaseEngineUrl}/task/${taskId}/complete`; - - const headers = { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { - method: 'POST', - headers, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/task/${taskId}/complete`; + + const headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { + method: 'POST', + headers, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function createNewTask(keycloak, body) { - const url = `${Config.CaseEngineUrl}/task/create`; - - const headers = { - Accept: 'application/json', - 'Content-Type': 'application/json', - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { - method: 'POST', - headers, - body: JSON.stringify(body) - }); - return nop(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + const url = `${Config.CaseEngineUrl}/task/create`; + + const headers = { + Accept: 'application/json', + 'Content-Type': 'application/json', + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { + method: 'POST', + headers, + body: JSON.stringify(body), + }); + return nop(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function filterTasks(keycloak, businessKey) { - let query = ''; + let query = ''; - if (!!businessKey) { - query = query + (businessKey ? 'businessKey=' + businessKey : ''); - } + if (businessKey) { + query = query + (businessKey ? 'businessKey=' + businessKey : ''); + } - const url = `${Config.CaseEngineUrl}/task?${query}`; + const url = `${Config.CaseEngineUrl}/task?${query}`; - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } async function filterProcessInstances(keycloak, businessKey) { - if (!businessKey) { - businessKey = ''; - } - - const url = `${Config.CaseEngineUrl}/process-instance?businessKey=${businessKey}`; - - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; - - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (e) { - console.log(e); - return await Promise.reject(e); - } + if (!businessKey) { + businessKey = ''; + } + + const url = `${Config.CaseEngineUrl}/process-instance?businessKey=${businessKey}`; + + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; + + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (e) { + console.log(e); + return await Promise.reject(e); + } } diff --git a/apps/react/case-portal/src/services/VariableService.js b/apps/react/case-portal/src/services/VariableService.js index f164f18b..fb28d90d 100644 --- a/apps/react/case-portal/src/services/VariableService.js +++ b/apps/react/case-portal/src/services/VariableService.js @@ -2,22 +2,21 @@ import { json } from './request'; import Config from '../consts'; export const VariableService = { - getByProcessInstanceId + getByProcessInstanceId, }; - async function getByProcessInstanceId(keycloak, processInstanceId) { - const headers = { - Authorization: `Bearer ${keycloak.token}` - }; + const headers = { + Authorization: `Bearer ${keycloak.token}`, + }; - var url = `${Config.CaseEngineUrl}/variable?processInstanceId=${processInstanceId}`; + var url = `${Config.CaseEngineUrl}/variable?processInstanceId=${processInstanceId}`; - try { - const resp = await fetch(url, { headers }); - return json(keycloak, resp); - } catch (err) { - console.log(err); - return await Promise.reject(err); - } + try { + const resp = await fetch(url, { headers }); + return json(keycloak, resp); + } catch (err) { + console.log(err); + return await Promise.reject(err); + } } diff --git a/apps/react/case-portal/src/services/index.js b/apps/react/case-portal/src/services/index.js index cf3bb574..9bd0038f 100644 --- a/apps/react/case-portal/src/services/index.js +++ b/apps/react/case-portal/src/services/index.js @@ -12,16 +12,16 @@ import { DeploymentService } from './DeploymentService'; import { VariableService } from './VariableService'; export { - NotificationService, - CaseService, - EmailService, - FormService, - RecordService, - TaskService, - CaseDefService, - ProcessDefService, - RecordTypeService, - FileService, - DeploymentService, - VariableService, + NotificationService, + CaseService, + EmailService, + FormService, + RecordService, + TaskService, + CaseDefService, + ProcessDefService, + RecordTypeService, + FileService, + DeploymentService, + VariableService, }; diff --git a/apps/react/case-portal/src/services/request.js b/apps/react/case-portal/src/services/request.js index 6edb4600..05d8fecb 100644 --- a/apps/react/case-portal/src/services/request.js +++ b/apps/react/case-portal/src/services/request.js @@ -1,28 +1,28 @@ export function json(keycloak, resp) { - if (resp.status === 401) { - forceLogoutWhenTokenExpired(keycloak, resp); - return Promise.reject(resp); - } + if (resp.status === 401) { + forceLogoutWhenTokenExpired(keycloak, resp); + return Promise.reject(resp); + } - if (resp.ok) { - return resp.json(); - } + if (resp.ok) { + return resp.json(); + } - return Promise.resolve(resp); + return Promise.resolve(resp); } export function nop(keycloak, resp) { - if (resp.status === 401) { - forceLogoutWhenTokenExpired(keycloak, resp); - return Promise.reject(resp); - } + if (resp.status === 401) { + forceLogoutWhenTokenExpired(keycloak, resp); + return Promise.reject(resp); + } - return resp; + return resp; } function forceLogoutWhenTokenExpired(keycloak, resp) { - if (keycloak.isTokenExpired()) { - console.error(resp); - keycloak.logout({ redirectUri: window.location.origin }); - } + if (keycloak.isTokenExpired()) { + console.error(resp); + keycloak.logout({ redirectUri: window.location.origin }); + } } diff --git a/apps/react/case-portal/src/store/account/AccountStore.test.js b/apps/react/case-portal/src/store/account/AccountStore.test.js index a2c9be8f..961315d2 100644 --- a/apps/react/case-portal/src/store/account/AccountStore.test.js +++ b/apps/react/case-portal/src/store/account/AccountStore.test.js @@ -1,32 +1,38 @@ +/* eslint-disable no-undef */ import store from './index'; class Keycloak { - constructor(role) { - this.hasRole = role; - } + constructor(role) { + this.hasRole = role; + } - hasRealmRole(role) { - return this.hasRole === role; - } + hasRealmRole(role) { + return this.hasRole === role; + } } test('should be true when user has managament role', () => { - expect(store.isManagerUser(new Keycloak('mgmt_case_def'))).toEqual(true); - expect(store.isManagerUser(new Keycloak('mgmt_record_type'))).toEqual(true); - expect(store.isManagerUser(new Keycloak('mgmt_form'))).toEqual(true); + expect(store.isManagerUser(new Keycloak('mgmt_case_def'))).toEqual(true); + expect(store.isManagerUser(new Keycloak('mgmt_record_type'))).toEqual(true); + expect(store.isManagerUser(new Keycloak('mgmt_form'))).toEqual(true); }); test('should be false when user dont has managament role', () => { - const results = store.isManagerUser(new Keycloak('client_user')); + const results = store.isManagerUser(new Keycloak('client_user')); - expect(results).toEqual(false); + expect(results).toEqual(false); }); test('should be true if user has some role', () => { - expect(store.hasRole(new Keycloak('mgmt_case_def'), 'mgmt_case_def')).toEqual(true); - expect(store.hasRole(new Keycloak('client_task'), 'client_task')).toEqual(true); + expect(store.hasRole(new Keycloak('mgmt_case_def'), 'mgmt_case_def')).toEqual( + true, + ); + expect(store.hasRole(new Keycloak('client_task'), 'client_task')).toEqual( + true, + ); }); test('should be false if user dont have some role', () => { - expect(store.hasRole(new Keycloak('client_task', 'unknown'))).toEqual(false); + expect(store.hasRole(new Keycloak('client_task', 'unknown'))).toEqual(false); }); +/* eslint-disable no-undef */ diff --git a/apps/react/case-portal/src/store/account/index.js b/apps/react/case-portal/src/store/account/index.js index 537dba00..cc0fb18d 100644 --- a/apps/react/case-portal/src/store/account/index.js +++ b/apps/react/case-portal/src/store/account/index.js @@ -1,24 +1,20 @@ -const MGMT_ROLES = [ - 'mgmt_case_def', - 'mgmt_record_type', - 'mgmt_form' -]; +const MGMT_ROLES = ['mgmt_case_def', 'mgmt_record_type', 'mgmt_form']; const CLT_ROLES = ['client_case', 'client_task', 'client_record']; function isManagerUser(keycloak) { - const count = MGMT_ROLES.filter((role) => keycloak.hasRealmRole(role)); - return count.length > 0; + const count = MGMT_ROLES.filter((role) => keycloak.hasRealmRole(role)); + return count.length > 0; } function hasRole(keycloak, role) { - return keycloak.hasRealmRole(role); + return keycloak.hasRealmRole(role); } function hasAnyRole(keycloak) { - const roles = [...CLT_ROLES, ...MGMT_ROLES]; - const count = roles.filter((role) => keycloak.hasRealmRole(role)); - return count.length > 0; + const roles = [...CLT_ROLES, ...MGMT_ROLES]; + const count = roles.filter((role) => keycloak.hasRealmRole(role)); + return count.length > 0; } export default { hasRole, hasAnyRole, isManagerUser }; diff --git a/apps/react/case-portal/src/store/index.js b/apps/react/case-portal/src/store/index.js index e476a079..96195742 100644 --- a/apps/react/case-portal/src/store/index.js +++ b/apps/react/case-portal/src/store/index.js @@ -4,7 +4,7 @@ import accountStore from './account'; import sessionStore from './session'; const store = configureStore({ - reducer: reducers + reducer: reducers, }); const { dispatch } = store; diff --git a/apps/react/case-portal/src/store/reducers/menu.js b/apps/react/case-portal/src/store/reducers/menu.js index df2ab5bf..84a82ae1 100644 --- a/apps/react/case-portal/src/store/reducers/menu.js +++ b/apps/react/case-portal/src/store/reducers/menu.js @@ -3,36 +3,37 @@ import { createSlice } from '@reduxjs/toolkit'; // initial state const initialState = { - openItem: ['dashboard'], - openComponent: 'buttons', - drawerOpen: true, - componentDrawerOpen: true + openItem: ['dashboard'], + openComponent: 'buttons', + drawerOpen: true, + componentDrawerOpen: true, }; // ==============================|| SLICE - MENU ||============================== // const menu = createSlice({ - name: 'menu', - initialState, - reducers: { - activeItem(state, action) { - state.openItem = action.payload.openItem; - }, - - activeComponent(state, action) { - state.openComponent = action.payload.openComponent; - }, - - openDrawer(state, action) { - state.drawerOpen = action.payload.drawerOpen; - }, - - openComponentDrawer(state, action) { - state.componentDrawerOpen = action.payload.componentDrawerOpen; - } - } + name: 'menu', + initialState, + reducers: { + activeItem(state, action) { + state.openItem = action.payload.openItem; + }, + + activeComponent(state, action) { + state.openComponent = action.payload.openComponent; + }, + + openDrawer(state, action) { + state.drawerOpen = action.payload.drawerOpen; + }, + + openComponentDrawer(state, action) { + state.componentDrawerOpen = action.payload.componentDrawerOpen; + }, + }, }); export default menu.reducer; -export const { activeItem, activeComponent, openDrawer, openComponentDrawer } = menu.actions; +export const { activeItem, activeComponent, openDrawer, openComponentDrawer } = + menu.actions; diff --git a/apps/react/case-portal/src/store/session/SessionStore.test.js b/apps/react/case-portal/src/store/session/SessionStore.test.js index 0a77f825..96caceec 100644 --- a/apps/react/case-portal/src/store/session/SessionStore.test.js +++ b/apps/react/case-portal/src/store/session/SessionStore.test.js @@ -1,33 +1,35 @@ +/* eslint-disable no-undef */ import store from './index'; jest.mock('keycloak-js'); test('should be initialize realm with subdmain when using dns', () => { - window.location.assign('http://marketshare.wkspower.local/'); + window.location.assign('http://marketshare.wkspower.local/'); - const { keycloak, realm, clientId } = store.bootstrap(); + const { keycloak, realm, clientId } = store.bootstrap(); - expect(keycloak).not.toBeNull(); - expect(realm).toEqual('marketshare'); - expect(clientId).toEqual('wks-portal'); + expect(keycloak).not.toBeNull(); + expect(realm).toEqual('marketshare'); + expect(clientId).toEqual('wks-portal'); }); test('should be initialize realm default realm when using localhost', () => { - window.location.assign('http://localhost:3001/'); + window.location.assign('http://localhost:3001/'); - const { keycloak, realm, clientId } = store.bootstrap(); + const { keycloak, realm, clientId } = store.bootstrap(); - expect(keycloak).not.toBeNull(); - expect(realm).toEqual('localhost'); - expect(clientId).toEqual('wks-portal'); + expect(keycloak).not.toBeNull(); + expect(realm).toEqual('localhost'); + expect(clientId).toEqual('wks-portal'); }); test('should be initialize default realm when using app dns', () => { - window.location.assign('http://app.wkspower.local/'); + window.location.assign('http://app.wkspower.local/'); - const { keycloak, realm, clientId } = store.bootstrap(); + const { keycloak, realm, clientId } = store.bootstrap(); - expect(keycloak).not.toBeNull(); - expect(realm).toEqual('app'); - expect(clientId).toEqual('wks-portal'); + expect(keycloak).not.toBeNull(); + expect(realm).toEqual('app'); + expect(clientId).toEqual('wks-portal'); }); +/* eslint-disable no-undef */ diff --git a/apps/react/case-portal/src/store/session/index.js b/apps/react/case-portal/src/store/session/index.js index 7922a747..3fb95be1 100644 --- a/apps/react/case-portal/src/store/session/index.js +++ b/apps/react/case-portal/src/store/session/index.js @@ -2,29 +2,29 @@ import Keycloak from 'keycloak-js'; import Config from '../../consts'; function bootstrap() { - let realm = ''; - const clientId = 'wks-portal'; - const hostname = window.location.hostname; + let realm = ''; + const clientId = 'wks-portal'; + const hostname = window.location.hostname; - if (hostname !== 'localhost') { - realm = hostname.substring(0, hostname.indexOf('.')); - } else { - realm = hostname; - } + if (hostname !== 'localhost') { + realm = hostname.substring(0, hostname.indexOf('.')); + } else { + realm = hostname; + } - const kc = Keycloak({ - url: Config.LoginUrl, - realm: realm, - clientId: clientId - }); + const kc = new Keycloak({ + url: Config.LoginUrl, + realm: realm, + clientId: clientId, + }); - return { - keycloak: kc, - realm, - clientId - }; + return { + keycloak: kc, + realm, + clientId, + }; } export default { - bootstrap + bootstrap, }; diff --git a/apps/react/case-portal/src/themes/index.js b/apps/react/case-portal/src/themes/index.js index 4309f8aa..19623ac8 100644 --- a/apps/react/case-portal/src/themes/index.js +++ b/apps/react/case-portal/src/themes/index.js @@ -14,51 +14,50 @@ import componentsOverride from './overrides'; // ==============================|| DEFAULT THEME - MAIN ||============================== // export default function ThemeCustomization({ children }) { - const theme = Palette('light', 'default'); - - // eslint-disable-next-line react-hooks/exhaustive-deps - const themeTypography = Typography(`'Open Sans','Public Sans', sans-serif`); - const themeCustomShadows = useMemo(() => CustomShadows(theme), [theme]); - - const themeOptions = useMemo( - () => ({ - breakpoints: { - values: { - xs: 0, - sm: 768, - md: 1024, - lg: 1266, - xl: 1536 - } - }, - direction: 'ltr', - mixins: { - toolbar: { - minHeight: 60, - paddingTop: 8, - paddingBottom: 8 - } - }, - palette: theme.palette, - customShadows: themeCustomShadows, - typography: themeTypography - }), - [theme, themeTypography, themeCustomShadows] - ); - - const themes = createTheme(themeOptions); - themes.components = componentsOverride(themes); - - return ( - - - - {children} - - - ); + const theme = Palette('light', 'default'); + + const themeTypography = Typography('\'Open Sans\',\'Public Sans\', sans-serif'); + const themeCustomShadows = useMemo(() => CustomShadows(theme), [theme]); + + const themeOptions = useMemo( + () => ({ + breakpoints: { + values: { + xs: 0, + sm: 768, + md: 1024, + lg: 1266, + xl: 1536, + }, + }, + direction: 'ltr', + mixins: { + toolbar: { + minHeight: 60, + paddingTop: 8, + paddingBottom: 8, + }, + }, + palette: theme.palette, + customShadows: themeCustomShadows, + typography: themeTypography, + }), + [theme, themeTypography, themeCustomShadows], + ); + + const themes = createTheme(themeOptions); + themes.components = componentsOverride(themes); + + return ( + + + + {children} + + + ); } ThemeCustomization.propTypes = { - children: PropTypes.node + children: PropTypes.node, }; diff --git a/apps/react/case-portal/src/themes/overrides/Badge.js b/apps/react/case-portal/src/themes/overrides/Badge.js index 21e8a8ca..0fd6235d 100644 --- a/apps/react/case-portal/src/themes/overrides/Badge.js +++ b/apps/react/case-portal/src/themes/overrides/Badge.js @@ -1,15 +1,15 @@ // ==============================|| OVERRIDES - BADGE ||============================== // export default function Badge(theme) { - return { - MuiBadge: { - styleOverrides: { - standard: { - minWidth: theme.spacing(2), - height: theme.spacing(2), - padding: theme.spacing(0.5) - } - } - } - }; + return { + MuiBadge: { + styleOverrides: { + standard: { + minWidth: theme.spacing(2), + height: theme.spacing(2), + padding: theme.spacing(0.5), + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Button.js b/apps/react/case-portal/src/themes/overrides/Button.js index 3cf97dbe..51c7abc1 100644 --- a/apps/react/case-portal/src/themes/overrides/Button.js +++ b/apps/react/case-portal/src/themes/overrides/Button.js @@ -1,28 +1,28 @@ // ==============================|| OVERRIDES - BUTTON ||============================== // export default function Button(theme) { - const disabledStyle = { - '&.Mui-disabled': { - backgroundColor: theme.palette.grey[200] - } - }; + const disabledStyle = { + '&.Mui-disabled': { + backgroundColor: theme.palette.grey[200], + }, + }; - return { - MuiButton: { - defaultProps: { - disableElevation: true - }, - styleOverrides: { - root: { - fontWeight: 400 - }, - contained: { - ...disabledStyle - }, - outlined: { - ...disabledStyle - } - } - } - }; + return { + MuiButton: { + defaultProps: { + disableElevation: true, + }, + styleOverrides: { + root: { + fontWeight: 400, + }, + contained: { + ...disabledStyle, + }, + outlined: { + ...disabledStyle, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/CardContent.js b/apps/react/case-portal/src/themes/overrides/CardContent.js index 2edc544b..0d4b0aa4 100644 --- a/apps/react/case-portal/src/themes/overrides/CardContent.js +++ b/apps/react/case-portal/src/themes/overrides/CardContent.js @@ -1,16 +1,16 @@ // ==============================|| OVERRIDES - CARD CONTENT ||============================== // export default function CardContent() { - return { - MuiCardContent: { - styleOverrides: { - root: { - padding: 20, - '&:last-child': { - paddingBottom: 20 - } - } - } - } - }; + return { + MuiCardContent: { + styleOverrides: { + root: { + padding: 20, + '&:last-child': { + paddingBottom: 20, + }, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Checkbox.js b/apps/react/case-portal/src/themes/overrides/Checkbox.js index 81209491..3c89dd42 100644 --- a/apps/react/case-portal/src/themes/overrides/Checkbox.js +++ b/apps/react/case-portal/src/themes/overrides/Checkbox.js @@ -1,13 +1,13 @@ // ==============================|| OVERRIDES - CHECKBOX ||============================== // export default function Checkbox(theme) { - return { - MuiCheckbox: { - styleOverrides: { - root: { - color: theme.palette.secondary[300] - } - } - } - }; + return { + MuiCheckbox: { + styleOverrides: { + root: { + color: theme.palette.secondary[300], + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Chip.js b/apps/react/case-portal/src/themes/overrides/Chip.js index db0a0bb4..ec943bab 100644 --- a/apps/react/case-portal/src/themes/overrides/Chip.js +++ b/apps/react/case-portal/src/themes/overrides/Chip.js @@ -1,40 +1,40 @@ // ==============================|| OVERRIDES - CHIP ||============================== // export default function Chip(theme) { - return { - MuiChip: { - styleOverrides: { - root: { - borderRadius: 4, - '&:active': { - boxShadow: 'none' - } - }, - sizeLarge: { - fontSize: '1rem', - height: 40 - }, - light: { - color: theme.palette.primary.main, - backgroundColor: theme.palette.primary.lighter, - borderColor: theme.palette.primary.light, - '&.MuiChip-lightError': { - color: theme.palette.error.main, - backgroundColor: theme.palette.error.lighter, - borderColor: theme.palette.error.light - }, - '&.MuiChip-lightSuccess': { - color: theme.palette.success.main, - backgroundColor: theme.palette.success.lighter, - borderColor: theme.palette.success.light - }, - '&.MuiChip-lightWarning': { - color: theme.palette.warning.main, - backgroundColor: theme.palette.warning.lighter, - borderColor: theme.palette.warning.light - } - } - } - } - }; + return { + MuiChip: { + styleOverrides: { + root: { + borderRadius: 4, + '&:active': { + boxShadow: 'none', + }, + }, + sizeLarge: { + fontSize: '1rem', + height: 40, + }, + light: { + color: theme.palette.primary.main, + backgroundColor: theme.palette.primary.lighter, + borderColor: theme.palette.primary.light, + '&.MuiChip-lightError': { + color: theme.palette.error.main, + backgroundColor: theme.palette.error.lighter, + borderColor: theme.palette.error.light, + }, + '&.MuiChip-lightSuccess': { + color: theme.palette.success.main, + backgroundColor: theme.palette.success.lighter, + borderColor: theme.palette.success.light, + }, + '&.MuiChip-lightWarning': { + color: theme.palette.warning.main, + backgroundColor: theme.palette.warning.lighter, + borderColor: theme.palette.warning.light, + }, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Grid.js b/apps/react/case-portal/src/themes/overrides/Grid.js index 16a45eac..4633d981 100644 --- a/apps/react/case-portal/src/themes/overrides/Grid.js +++ b/apps/react/case-portal/src/themes/overrides/Grid.js @@ -1,24 +1,24 @@ // ==============================|| OVERRIDES - TABLE CELL ||============================== // export default function Grid(theme) { - return { - MuiDataGrid: { - styleOverrides: { - main: { - fontSize: '0.875rem' - }, - columnHeaders: { - borderColor: theme.palette.divider - }, - columnHeaderTitle: { - fontWeight: '500', - }, - cell: { - borderColor: theme.palette.divider, - fontSize: '0.9rem', - color: theme.palette.secondary.main, - } - } - } - }; + return { + MuiDataGrid: { + styleOverrides: { + main: { + fontSize: '0.875rem', + }, + columnHeaders: { + borderColor: theme.palette.divider, + }, + columnHeaderTitle: { + fontWeight: '500', + }, + cell: { + borderColor: theme.palette.divider, + fontSize: '0.9rem', + color: theme.palette.secondary.main, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/IconButton.js b/apps/react/case-portal/src/themes/overrides/IconButton.js index 648dba47..70dbdc98 100644 --- a/apps/react/case-portal/src/themes/overrides/IconButton.js +++ b/apps/react/case-portal/src/themes/overrides/IconButton.js @@ -1,28 +1,28 @@ // ==============================|| OVERRIDES - ICON BUTTON ||============================== // export default function IconButton(theme) { - return { - MuiIconButton: { - styleOverrides: { - root: { - borderRadius: 4 - }, - sizeLarge: { - width: theme.spacing(5.5), - height: theme.spacing(5.5), - fontSize: '1.25rem' - }, - sizeMedium: { - width: theme.spacing(4.5), - height: theme.spacing(4.5), - fontSize: '1rem' - }, - sizeSmall: { - width: theme.spacing(3.75), - height: theme.spacing(3.75), - fontSize: '0.75rem' - } - } - } - }; + return { + MuiIconButton: { + styleOverrides: { + root: { + borderRadius: 4, + }, + sizeLarge: { + width: theme.spacing(5.5), + height: theme.spacing(5.5), + fontSize: '1.25rem', + }, + sizeMedium: { + width: theme.spacing(4.5), + height: theme.spacing(4.5), + fontSize: '1rem', + }, + sizeSmall: { + width: theme.spacing(3.75), + height: theme.spacing(3.75), + fontSize: '0.75rem', + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/InputLabel.js b/apps/react/case-portal/src/themes/overrides/InputLabel.js index d2300a42..77c134b0 100644 --- a/apps/react/case-portal/src/themes/overrides/InputLabel.js +++ b/apps/react/case-portal/src/themes/overrides/InputLabel.js @@ -1,25 +1,25 @@ // ==============================|| OVERRIDES - INPUT LABEL ||============================== // export default function InputLabel(theme) { - return { - MuiInputLabel: { - styleOverrides: { - root: { - color: theme.palette.grey[600] - }, - outlined: { - lineHeight: '0.8em', - '&.MuiInputLabel-sizeSmall': { - lineHeight: '1em' - }, - '&.MuiInputLabel-shrink': { - background: theme.palette.background.paper, - padding: '0 8px', - marginLeft: -6, - lineHeight: '1.4375em' - } - } - } - } - }; + return { + MuiInputLabel: { + styleOverrides: { + root: { + color: theme.palette.grey[600], + }, + outlined: { + lineHeight: '0.8em', + '&.MuiInputLabel-sizeSmall': { + lineHeight: '1em', + }, + '&.MuiInputLabel-shrink': { + background: theme.palette.background.paper, + padding: '0 8px', + marginLeft: -6, + lineHeight: '1.4375em', + }, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/LinearProgress.js b/apps/react/case-portal/src/themes/overrides/LinearProgress.js index ffbe1eff..8c9b4c90 100644 --- a/apps/react/case-portal/src/themes/overrides/LinearProgress.js +++ b/apps/react/case-portal/src/themes/overrides/LinearProgress.js @@ -1,17 +1,17 @@ // ==============================|| OVERRIDES - LINER PROGRESS ||============================== // export default function LinearProgress() { - return { - MuiLinearProgress: { - styleOverrides: { - root: { - height: 6, - borderRadius: 100 - }, - bar: { - borderRadius: 100 - } - } - } - }; + return { + MuiLinearProgress: { + styleOverrides: { + root: { + height: 6, + borderRadius: 100, + }, + bar: { + borderRadius: 100, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Link.js b/apps/react/case-portal/src/themes/overrides/Link.js index 16279df5..ba8f9d6a 100644 --- a/apps/react/case-portal/src/themes/overrides/Link.js +++ b/apps/react/case-portal/src/themes/overrides/Link.js @@ -1,11 +1,11 @@ // ==============================|| OVERRIDES - LINK ||============================== // export default function Link() { - return { - MuiLink: { - defaultProps: { - underline: 'hover' - } - } - }; + return { + MuiLink: { + defaultProps: { + underline: 'hover', + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/ListItemIcon.js b/apps/react/case-portal/src/themes/overrides/ListItemIcon.js index 9001ab65..41daa4cf 100644 --- a/apps/react/case-portal/src/themes/overrides/ListItemIcon.js +++ b/apps/react/case-portal/src/themes/overrides/ListItemIcon.js @@ -1,13 +1,13 @@ // ==============================|| OVERRIDES - LIST ITEM ICON ||============================== // export default function ListItemIcon() { - return { - MuiListItemIcon: { - styleOverrides: { - root: { - minWidth: 24 - } - } - } - }; + return { + MuiListItemIcon: { + styleOverrides: { + root: { + minWidth: 24, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/OutlinedInput.js b/apps/react/case-portal/src/themes/overrides/OutlinedInput.js index 96709f26..7e25d6a2 100644 --- a/apps/react/case-portal/src/themes/overrides/OutlinedInput.js +++ b/apps/react/case-portal/src/themes/overrides/OutlinedInput.js @@ -4,44 +4,44 @@ import { alpha } from '@mui/material/styles'; // ==============================|| OVERRIDES - OUTLINED INPUT ||============================== // export default function OutlinedInput(theme) { - return { - MuiOutlinedInput: { - styleOverrides: { - input: { - padding: '10.5px 14px 10.5px 12px' - }, - notchedOutline: { - borderColor: theme.palette.grey[300] - }, - root: { - '&:hover .MuiOutlinedInput-notchedOutline': { - borderColor: theme.palette.primary.light - }, - '&.Mui-focused': { - boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.2)}`, - '& .MuiOutlinedInput-notchedOutline': { - border: `1px solid ${theme.palette.primary.light}` - } - }, - '&.Mui-error': { - '&:hover .MuiOutlinedInput-notchedOutline': { - borderColor: theme.palette.error.light - }, - '&.Mui-focused': { - boxShadow: `0 0 0 2px ${alpha(theme.palette.error.main, 0.2)}`, - '& .MuiOutlinedInput-notchedOutline': { - border: `1px solid ${theme.palette.error.light}` - } - } - } - }, - inputSizeSmall: { - padding: '7.5px 8px 7.5px 12px' - }, - inputMultiline: { - padding: 0 - } - } - } - }; + return { + MuiOutlinedInput: { + styleOverrides: { + input: { + padding: '10.5px 14px 10.5px 12px', + }, + notchedOutline: { + borderColor: theme.palette.grey[300], + }, + root: { + '&:hover .MuiOutlinedInput-notchedOutline': { + borderColor: theme.palette.primary.light, + }, + '&.Mui-focused': { + boxShadow: `0 0 0 2px ${alpha(theme.palette.primary.main, 0.2)}`, + '& .MuiOutlinedInput-notchedOutline': { + border: `1px solid ${theme.palette.primary.light}`, + }, + }, + '&.Mui-error': { + '&:hover .MuiOutlinedInput-notchedOutline': { + borderColor: theme.palette.error.light, + }, + '&.Mui-focused': { + boxShadow: `0 0 0 2px ${alpha(theme.palette.error.main, 0.2)}`, + '& .MuiOutlinedInput-notchedOutline': { + border: `1px solid ${theme.palette.error.light}`, + }, + }, + }, + }, + inputSizeSmall: { + padding: '7.5px 8px 7.5px 12px', + }, + inputMultiline: { + padding: 0, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Tab.js b/apps/react/case-portal/src/themes/overrides/Tab.js index dbd899f8..7b5e723f 100644 --- a/apps/react/case-portal/src/themes/overrides/Tab.js +++ b/apps/react/case-portal/src/themes/overrides/Tab.js @@ -1,14 +1,14 @@ // ==============================|| OVERRIDES - TAB ||============================== // export default function Tab(theme) { - return { - MuiTab: { - styleOverrides: { - root: { - minHeight: 46, - color: theme.palette.text.primary - } - } - } - }; + return { + MuiTab: { + styleOverrides: { + root: { + minHeight: 46, + color: theme.palette.text.primary, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/TableCell.js b/apps/react/case-portal/src/themes/overrides/TableCell.js index 581a3645..b6895c64 100644 --- a/apps/react/case-portal/src/themes/overrides/TableCell.js +++ b/apps/react/case-portal/src/themes/overrides/TableCell.js @@ -1,20 +1,20 @@ // ==============================|| OVERRIDES - TABLE CELL ||============================== // export default function TableCell(theme) { - return { - MuiTableCell: { - styleOverrides: { - root: { - fontSize: '0.875rem', - padding: 12, - borderColor: theme.palette.divider - }, - head: { - fontWeight: 600, - paddingTop: 20, - paddingBottom: 20 - } - } - } - }; + return { + MuiTableCell: { + styleOverrides: { + root: { + fontSize: '0.875rem', + padding: 12, + borderColor: theme.palette.divider, + }, + head: { + fontWeight: 600, + paddingTop: 20, + paddingBottom: 20, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Tabs.js b/apps/react/case-portal/src/themes/overrides/Tabs.js index 8e906ccf..f61598da 100644 --- a/apps/react/case-portal/src/themes/overrides/Tabs.js +++ b/apps/react/case-portal/src/themes/overrides/Tabs.js @@ -1,13 +1,13 @@ // ==============================|| OVERRIDES - TABS ||============================== // export default function Tabs() { - return { - MuiTabs: { - styleOverrides: { - vertical: { - overflow: 'visible' - } - } - } - }; + return { + MuiTabs: { + styleOverrides: { + vertical: { + overflow: 'visible', + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/Typography.js b/apps/react/case-portal/src/themes/overrides/Typography.js index 9c95a379..7a0df8d5 100644 --- a/apps/react/case-portal/src/themes/overrides/Typography.js +++ b/apps/react/case-portal/src/themes/overrides/Typography.js @@ -1,13 +1,13 @@ // ==============================|| OVERRIDES - TYPOGRAPHY ||============================== // export default function Typography() { - return { - MuiTypography: { - styleOverrides: { - gutterBottom: { - marginBottom: 12 - } - } - } - }; + return { + MuiTypography: { + styleOverrides: { + gutterBottom: { + marginBottom: 12, + }, + }, + }, + }; } diff --git a/apps/react/case-portal/src/themes/overrides/index.js b/apps/react/case-portal/src/themes/overrides/index.js index 20042d1f..067ae82a 100644 --- a/apps/react/case-portal/src/themes/overrides/index.js +++ b/apps/react/case-portal/src/themes/overrides/index.js @@ -22,22 +22,22 @@ import Typography from './Typography'; // ==============================|| OVERRIDES - MAIN ||============================== // export default function ComponentsOverrides(theme) { - return merge( - Button(theme), - Badge(theme), - CardContent(), - Checkbox(theme), - Chip(theme), - IconButton(theme), - InputLabel(theme), - LinearProgress(), - Link(), - ListItemIcon(), - OutlinedInput(theme), - Grid(theme), - Tab(theme), - TableCell(theme), - Tabs(), - Typography() - ); + return merge( + Button(theme), + Badge(theme), + CardContent(), + Checkbox(theme), + Chip(theme), + IconButton(theme), + InputLabel(theme), + LinearProgress(), + Link(), + ListItemIcon(), + OutlinedInput(theme), + Grid(theme), + Tab(theme), + TableCell(theme), + Tabs(), + Typography(), + ); } diff --git a/apps/react/case-portal/src/themes/palette.js b/apps/react/case-portal/src/themes/palette.js index 7a1b2f34..2c3466b0 100644 --- a/apps/react/case-portal/src/themes/palette.js +++ b/apps/react/case-portal/src/themes/palette.js @@ -10,51 +10,51 @@ import ThemeOption from './theme'; // ==============================|| DEFAULT THEME - PALETTE ||============================== // const Palette = (mode) => { - const colors = presetPalettes; - - const greyPrimary = [ - '#ffffff', - '#fafafa', - '#f5f5f5', - '#f0f0f0', - '#d9d9d9', - '#bfbfbf', - '#8c8c8c', - '#595959', - '#262626', - '#141414', - '#000000' - ]; - const greyAscent = ['#fafafa', '#bfbfbf', '#434343', '#1f1f1f']; - const greyConstant = ['#fafafb', '#e6ebf1']; - - colors.grey = [...greyPrimary, ...greyAscent, ...greyConstant]; - - const paletteColor = ThemeOption(colors); - - return createTheme({ - palette: { - mode, - common: { - black: '#000', - white: '#fff' - }, - ...paletteColor, - text: { - primary: paletteColor.grey[700], - secondary: paletteColor.grey[500], - disabled: paletteColor.grey[400] - }, - action: { - disabled: paletteColor.grey[300] - }, - divider: paletteColor.grey[200], - background: { - paper: paletteColor.grey[0], - default: paletteColor.grey.A50 - } - } - }); + const colors = presetPalettes; + + const greyPrimary = [ + '#ffffff', + '#fafafa', + '#f5f5f5', + '#f0f0f0', + '#d9d9d9', + '#bfbfbf', + '#8c8c8c', + '#595959', + '#262626', + '#141414', + '#000000', + ]; + const greyAscent = ['#fafafa', '#bfbfbf', '#434343', '#1f1f1f']; + const greyConstant = ['#fafafb', '#e6ebf1']; + + colors.grey = [...greyPrimary, ...greyAscent, ...greyConstant]; + + const paletteColor = ThemeOption(colors); + + return createTheme({ + palette: { + mode, + common: { + black: '#000', + white: '#fff', + }, + ...paletteColor, + text: { + primary: paletteColor.grey[700], + secondary: paletteColor.grey[500], + disabled: paletteColor.grey[400], + }, + action: { + disabled: paletteColor.grey[300], + }, + divider: paletteColor.grey[200], + background: { + paper: paletteColor.grey[0], + default: paletteColor.grey.A50, + }, + }, + }); }; export default Palette; diff --git a/apps/react/case-portal/src/themes/shadows.js b/apps/react/case-portal/src/themes/shadows.js index 712551ef..799abb18 100644 --- a/apps/react/case-portal/src/themes/shadows.js +++ b/apps/react/case-portal/src/themes/shadows.js @@ -4,10 +4,10 @@ import { alpha } from '@mui/material/styles'; // ==============================|| DEFAULT THEME - CUSTOM SHADOWS ||============================== // const CustomShadows = (theme) => ({ - button: `0 2px #0000000b`, - text: `0 -1px 0 rgb(0 0 0 / 12%)`, - z1: `0px 2px 8px ${alpha(theme.palette.grey[900], 0.15)}` - // only available in paid version + button: '0 2px #0000000b', + text: '0 -1px 0 rgb(0 0 0 / 12%)', + z1: `0px 2px 8px ${alpha(theme.palette.grey[900], 0.15)}`, + // only available in paid version }); export default CustomShadows; diff --git a/apps/react/case-portal/src/themes/theme/index.js b/apps/react/case-portal/src/themes/theme/index.js index a6f0f896..e0c2b047 100644 --- a/apps/react/case-portal/src/themes/theme/index.js +++ b/apps/react/case-portal/src/themes/theme/index.js @@ -1,106 +1,106 @@ // ==============================|| PRESET THEME - THEME SELECTOR ||============================== // const Theme = (colors) => { - const { red, gold, cyan, green, grey } = colors; + const { red, gold, cyan, green, grey } = colors; - const blue = [ - "#e8faff", - "#bfefff", - "#96e1ff", - "#6ed1ff", - "#45beff", - "#1ba0f2", - "#0c7ccc", - "#025ca6", - "#004280", - "#002b59", - ]; + const blue = [ + '#e8faff', + '#bfefff', + '#96e1ff', + '#6ed1ff', + '#45beff', + '#1ba0f2', + '#0c7ccc', + '#025ca6', + '#004280', + '#002b59', + ]; - const greyColors = { - 0: grey[0], - 50: grey[1], - 100: grey[2], - 200: grey[3], - 300: grey[4], - 400: grey[5], - 500: grey[6], - 600: grey[7], - 700: grey[8], - 800: grey[9], - 900: grey[10], - A50: grey[15], - A100: grey[11], - A200: grey[12], - A400: grey[13], - A700: grey[14], - A800: grey[16] - }; - const contrastText = '#fff'; + const greyColors = { + 0: grey[0], + 50: grey[1], + 100: grey[2], + 200: grey[3], + 300: grey[4], + 400: grey[5], + 500: grey[6], + 600: grey[7], + 700: grey[8], + 800: grey[9], + 900: grey[10], + A50: grey[15], + A100: grey[11], + A200: grey[12], + A400: grey[13], + A700: grey[14], + A800: grey[16], + }; + const contrastText = '#fff'; - return { - primary: { - lighter: blue[0], - 100: blue[1], - 200: blue[2], - light: blue[3], - 400: blue[4], - main: blue[5], - dark: blue[6], - 700: blue[7], - darker: blue[8], - 900: blue[9], - contrastText - }, - secondary: { - lighter: greyColors[100], - 100: greyColors[100], - 200: greyColors[200], - light: greyColors[300], - 400: greyColors[400], - main: greyColors[500], - 600: greyColors[600], - dark: greyColors[700], - 800: greyColors[800], - darker: greyColors[900], - A100: greyColors[0], - A200: greyColors.A400, - A300: greyColors.A700, - contrastText: greyColors[0] - }, - error: { - lighter: red[0], - light: red[2], - main: red[4], - dark: red[7], - darker: red[9], - contrastText - }, - warning: { - lighter: gold[0], - light: gold[3], - main: gold[5], - dark: gold[7], - darker: gold[9], - contrastText: greyColors[100] - }, - info: { - lighter: cyan[0], - light: cyan[3], - main: cyan[5], - dark: cyan[7], - darker: cyan[9], - contrastText - }, - success: { - lighter: green[0], - light: green[3], - main: green[5], - dark: green[7], - darker: green[9], - contrastText - }, - grey: greyColors - }; + return { + primary: { + lighter: blue[0], + 100: blue[1], + 200: blue[2], + light: blue[3], + 400: blue[4], + main: blue[5], + dark: blue[6], + 700: blue[7], + darker: blue[8], + 900: blue[9], + contrastText, + }, + secondary: { + lighter: greyColors[100], + 100: greyColors[100], + 200: greyColors[200], + light: greyColors[300], + 400: greyColors[400], + main: greyColors[500], + 600: greyColors[600], + dark: greyColors[700], + 800: greyColors[800], + darker: greyColors[900], + A100: greyColors[0], + A200: greyColors.A400, + A300: greyColors.A700, + contrastText: greyColors[0], + }, + error: { + lighter: red[0], + light: red[2], + main: red[4], + dark: red[7], + darker: red[9], + contrastText, + }, + warning: { + lighter: gold[0], + light: gold[3], + main: gold[5], + dark: gold[7], + darker: gold[9], + contrastText: greyColors[100], + }, + info: { + lighter: cyan[0], + light: cyan[3], + main: cyan[5], + dark: cyan[7], + darker: cyan[9], + contrastText, + }, + success: { + lighter: green[0], + light: green[3], + main: green[5], + dark: green[7], + darker: green[9], + contrastText, + }, + grey: greyColors, + }; }; export default Theme; diff --git a/apps/react/case-portal/src/themes/typography.js b/apps/react/case-portal/src/themes/typography.js index 7af3446b..9d72b762 100644 --- a/apps/react/case-portal/src/themes/typography.js +++ b/apps/react/case-portal/src/themes/typography.js @@ -1,71 +1,71 @@ // ==============================|| DEFAULT THEME - TYPOGRAPHY ||============================== // const Typography = (fontFamily) => ({ - htmlFontSize: 16, - fontFamily, - fontWeightLight: 300, - fontWeightRegular: 400, - fontWeightMedium: 500, - fontWeightBold: 600, - h1: { - fontWeight: 600, - fontSize: '2.375rem', - lineHeight: 1.21 - }, - h2: { - fontWeight: 600, - fontSize: '1.875rem', - lineHeight: 1.27 - }, - h3: { - fontWeight: 600, - fontSize: '1.5rem', - lineHeight: 1.33 - }, - h4: { - fontWeight: 600, - fontSize: '1.25rem', - lineHeight: 1.4 - }, - h5: { - fontWeight: 600, - fontSize: '0.875rem', - lineHeight: 1.5 - }, - h6: { - fontWeight: 400, - fontSize: '0.875rem', - lineHeight: 1.57 - }, - caption: { - fontWeight: 400, - fontSize: '0.75rem', - lineHeight: 1.66 - }, - body1: { - fontSize: '0.875rem', - lineHeight: 1.57 - }, - body2: { - fontSize: '0.75rem', - lineHeight: 1.66 - }, - subtitle1: { - fontSize: '0.875rem', - fontWeight: 600, - lineHeight: 1.57 - }, - subtitle2: { - fontSize: '0.75rem', - fontWeight: 500, - lineHeight: 1.66 - }, - overline: { - lineHeight: 1.66 - }, - button: { - textTransform: 'capitalize' - } + htmlFontSize: 16, + fontFamily, + fontWeightLight: 300, + fontWeightRegular: 400, + fontWeightMedium: 500, + fontWeightBold: 600, + h1: { + fontWeight: 600, + fontSize: '2.375rem', + lineHeight: 1.21, + }, + h2: { + fontWeight: 600, + fontSize: '1.875rem', + lineHeight: 1.27, + }, + h3: { + fontWeight: 600, + fontSize: '1.5rem', + lineHeight: 1.33, + }, + h4: { + fontWeight: 600, + fontSize: '1.25rem', + lineHeight: 1.4, + }, + h5: { + fontWeight: 600, + fontSize: '0.875rem', + lineHeight: 1.5, + }, + h6: { + fontWeight: 400, + fontSize: '0.875rem', + lineHeight: 1.57, + }, + caption: { + fontWeight: 400, + fontSize: '0.75rem', + lineHeight: 1.66, + }, + body1: { + fontSize: '0.875rem', + lineHeight: 1.57, + }, + body2: { + fontSize: '0.75rem', + lineHeight: 1.66, + }, + subtitle1: { + fontSize: '0.875rem', + fontWeight: 600, + lineHeight: 1.57, + }, + subtitle2: { + fontSize: '0.75rem', + fontWeight: 500, + lineHeight: 1.66, + }, + overline: { + lineHeight: 1.66, + }, + button: { + textTransform: 'capitalize', + }, }); export default Typography; diff --git a/apps/react/case-portal/src/utils/SyntaxHighlight.js b/apps/react/case-portal/src/utils/SyntaxHighlight.js index a2f00882..6c922afb 100644 --- a/apps/react/case-portal/src/utils/SyntaxHighlight.js +++ b/apps/react/case-portal/src/utils/SyntaxHighlight.js @@ -7,13 +7,18 @@ import { a11yDark } from 'react-syntax-highlighter/dist/esm/styles/hljs'; // ==============================|| CODE HIGHLIGHTER ||============================== // export default function SyntaxHighlight({ children, ...others }) { - return ( - - {children} - - ); + return ( + + {children} + + ); } SyntaxHighlight.propTypes = { - children: PropTypes.node + children: PropTypes.node, }; diff --git a/apps/react/case-portal/src/utils/jsonStringCheck.js b/apps/react/case-portal/src/utils/jsonStringCheck.js index 06eaa103..99ddc8ad 100644 --- a/apps/react/case-portal/src/utils/jsonStringCheck.js +++ b/apps/react/case-portal/src/utils/jsonStringCheck.js @@ -1,8 +1,8 @@ -export function tryParseJSONObject (jsonString){ - try { - JSON.parse(jsonString); - } catch (e) { - return false; - } - return true; -}; \ No newline at end of file +export function tryParseJSONObject(jsonString) { + try { + JSON.parse(jsonString); + } catch (e) { + return false; + } + return true; +} diff --git a/apps/react/case-portal/src/utils/password-strength.js b/apps/react/case-portal/src/utils/password-strength.js index 51e812d9..33df7b82 100644 --- a/apps/react/case-portal/src/utils/password-strength.js +++ b/apps/react/case-portal/src/utils/password-strength.js @@ -2,28 +2,29 @@ const hasNumber = (number) => new RegExp(/[0-9]/).test(number); // has mix of small and capitals -const hasMixed = (number) => new RegExp(/[a-z]/).test(number) && new RegExp(/[A-Z]/).test(number); +const hasMixed = (number) => + new RegExp(/[a-z]/).test(number) && new RegExp(/[A-Z]/).test(number); // has special chars const hasSpecial = (number) => new RegExp(/[!#@$%^&*)(+=._-]/).test(number); // set color based on password strength export const strengthColor = (count) => { - if (count < 2) return { label: 'Poor', color: 'error.main' }; - if (count < 3) return { label: 'Weak', color: 'warning.main' }; - if (count < 4) return { label: 'Normal', color: 'warning.dark' }; - if (count < 5) return { label: 'Good', color: 'success.main' }; - if (count < 6) return { label: 'Strong', color: 'success.dark' }; - return { label: 'Poor', color: 'error.main' }; + if (count < 2) return { label: 'Poor', color: 'error.main' }; + if (count < 3) return { label: 'Weak', color: 'warning.main' }; + if (count < 4) return { label: 'Normal', color: 'warning.dark' }; + if (count < 5) return { label: 'Good', color: 'success.main' }; + if (count < 6) return { label: 'Strong', color: 'success.dark' }; + return { label: 'Poor', color: 'error.main' }; }; // password strength indicator export const strengthIndicator = (number) => { - let strengths = 0; - if (number.length > 5) strengths += 1; - if (number.length > 7) strengths += 1; - if (hasNumber(number)) strengths += 1; - if (hasSpecial(number)) strengths += 1; - if (hasMixed(number)) strengths += 1; - return strengths; + let strengths = 0; + if (number.length > 5) strengths += 1; + if (number.length > 7) strengths += 1; + if (hasNumber(number)) strengths += 1; + if (hasSpecial(number)) strengths += 1; + if (hasMixed(number)) strengths += 1; + return strengths; }; diff --git a/apps/react/case-portal/src/views/bpmnViewer/BpmnIo.css b/apps/react/case-portal/src/views/bpmnViewer/BpmnIo.css index c5325e62..b0a59292 100644 --- a/apps/react/case-portal/src/views/bpmnViewer/BpmnIo.css +++ b/apps/react/case-portal/src/views/bpmnViewer/BpmnIo.css @@ -1,3 +1,3 @@ .highlight:not(.djs-connection) .djs-visual > :nth-child(1) { - fill: rgb(167, 204, 167) !important; /* color elements as green */ + fill: rgb(167, 204, 167) !important; /* color elements as green */ } diff --git a/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js b/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js index 972efcbb..251e250e 100644 --- a/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js +++ b/apps/react/case-portal/src/views/bpmnViewer/BpmnReact.js @@ -4,57 +4,56 @@ import './BpmnIo.css'; import { useSession } from 'SessionStoreContext'; export const ReactBpmn = ({ url, activities }) => { - const [containerRef, setContainerRef] = useState(React.createRef); - const keycloak = useSession(); + const [containerRef, setContainerRef] = useState(React.createRef); + const keycloak = useSession(); - useEffect(() => { - fetch(url, { - headers: { - Authorization: `Bearer ${keycloak.token}` - } - }) - .then((response) => response.text()) - .then((text) => { - memoizedCallback(text); - }); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [activities]); + useEffect(() => { + fetch(url, { + headers: { + Authorization: `Bearer ${keycloak.token}`, + }, + }) + .then((response) => response.text()) + .then((text) => { + memoizedCallback(text); + }); + }, [activities]); - const memoizedCallback = useCallback( - (text) => { - setContainerRef(React.createRef); - const container = containerRef.current; - const bpmnViewer = new BpmnJS({ container }); - bpmnViewer.importXML(text).then(() => { - const canvas = bpmnViewer.get('canvas'); - activities.forEach((activity) => - canvas.addMarker(activity.activityId, 'highlight') - ); - canvas.zoom('fit-viewport'); - }); - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [activities] - ); + const memoizedCallback = useCallback( + (text) => { + setContainerRef(React.createRef); + const container = containerRef.current; + const bpmnViewer = new BpmnJS({ container }); + bpmnViewer.importXML(text).then(() => { + const canvas = bpmnViewer.get('canvas'); + activities.forEach((activity) => + canvas.addMarker(activity.activityId, 'highlight'), + ); + canvas.zoom('fit-viewport'); + }); + }, - const Div = useCallback( - ({ containerRef }) => { - return ( -
- ); - }, - // eslint-disable-next-line react-hooks/exhaustive-deps - [activities] - ); + [activities], + ); - return
; + const Div = useCallback( + ({ containerRef }) => { + return ( +
+ ); + }, + + [activities], + ); + + return
; }; diff --git a/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js b/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js index a41d6f1a..df22bebc 100644 --- a/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js +++ b/apps/react/case-portal/src/views/bpmnViewer/ProcessDiagram.js @@ -2,7 +2,7 @@ import { ReactBpmn } from './BpmnReact'; import Config from 'consts/index'; export const ProcessDiagram = ({ processDefinitionId, activityInstances }) => { - const url = `${Config.CaseEngineUrl}/process-definition/${processDefinitionId}/xml`; + const url = `${Config.CaseEngineUrl}/process-definition/${processDefinitionId}/xml`; - return ; + return ; }; diff --git a/apps/react/case-portal/src/views/caseComment/Comment.js b/apps/react/case-portal/src/views/caseComment/Comment.js index b4272986..3fa9fb60 100644 --- a/apps/react/case-portal/src/views/caseComment/Comment.js +++ b/apps/react/case-portal/src/views/caseComment/Comment.js @@ -7,109 +7,117 @@ import { useTranslation } from 'react-i18next'; import CommentForm from './CommentForm'; const Comment = ({ - comment, - replies, - setActiveComment, - activeComment, - updateComment, - deleteComment, - addComment, - parentId = null, - currentUserId + comment, + replies, + setActiveComment, + activeComment, + updateComment, + deleteComment, + addComment, + parentId = null, + currentUserId, }) => { - const isEditing = - activeComment && activeComment.id === comment.id && activeComment.type === 'editing'; - const isReplying = - activeComment && activeComment.id === comment.id && activeComment.type === 'replying'; - // const fiveMinutes = 300000; - // const timePassed = new Date() - new Date(comment.createdAt) > fiveMinutes; - const canDelete = replies.length === 0; // && currentUserId === comment.userId && !timePassed; - const canReply = true; //Boolean(currentUserId); - const canEdit = true; //currentUserId === comment.userId && !timePassed; - const replyId = parentId ? parentId : comment.id; - const createdAt = new Date(comment.createdAt).toLocaleDateString(); + const isEditing = + activeComment && + activeComment.id === comment.id && + activeComment.type === 'editing'; + const isReplying = + activeComment && + activeComment.id === comment.id && + activeComment.type === 'replying'; + // const fiveMinutes = 300000; + // const timePassed = new Date() - new Date(comment.createdAt) > fiveMinutes; + const canDelete = replies.length === 0; // && currentUserId === comment.userId && !timePassed; + const canReply = true; //Boolean(currentUserId); + const canEdit = true; //currentUserId === comment.userId && !timePassed; + const replyId = parentId ? parentId : comment.id; + const createdAt = new Date(comment.createdAt).toLocaleDateString(); - const { t } = useTranslation(); + const { t } = useTranslation(); - return ( -
-
- -
-
-
- - - {comment.userName} - - {createdAt} - -
- {!isEditing && {comment.body}} - {isEditing && ( - updateComment(text, comment.id)} - handleCancel={() => { - setActiveComment(null); - }} - /> - )} -
- {canReply && ( - - )} - {canEdit && ( - - )} - {canDelete && ( - - )} -
- {isReplying && ( - addComment(text, replyId)} - /> - )} - {replies.length > 0 && ( -
- {replies.map((reply) => ( - - ))} -
- )} -
+ return ( +
+
+ +
+
+
+ + + {comment.userName} + + {createdAt} +
- ); + {!isEditing && {comment.body}} + {isEditing && ( + updateComment(text, comment.id)} + handleCancel={() => { + setActiveComment(null); + }} + /> + )} +
+ {canReply && ( + + )} + {canEdit && ( + + )} + {canDelete && ( + + )} +
+ {isReplying && ( + addComment(text, replyId)} + /> + )} + {replies.length > 0 && ( +
+ {replies.map((reply) => ( + + ))} +
+ )} +
+
+ ); }; export default Comment; diff --git a/apps/react/case-portal/src/views/caseComment/CommentForm.js b/apps/react/case-portal/src/views/caseComment/CommentForm.js index 12c1427b..d9af9508 100644 --- a/apps/react/case-portal/src/views/caseComment/CommentForm.js +++ b/apps/react/case-portal/src/views/caseComment/CommentForm.js @@ -4,42 +4,46 @@ import TextField from '@mui/material/TextField'; import { useState } from 'react'; const CommentForm = ({ - handleSubmit, - submitLabel, - hasCancelButton = false, - handleCancel, - initialText = '' + handleSubmit, + submitLabel, + hasCancelButton = false, + handleCancel, + initialText = '', }) => { - const [text, setText] = useState(initialText); - const isTextareaDisabled = text.length === 0; - const onSubmit = (event) => { - event.preventDefault(); - handleSubmit(text); - setText(''); - }; - return ( - - setText(e.target.value)} - /> - - {hasCancelButton && ( - - )} - - ); + const [text, setText] = useState(initialText); + const isTextareaDisabled = text.length === 0; + const onSubmit = (event) => { + event.preventDefault(); + handleSubmit(text); + setText(''); + }; + return ( + + setText(e.target.value)} + /> + + {hasCancelButton && ( + + )} + + ); }; export default CommentForm; diff --git a/apps/react/case-portal/src/views/caseComment/Comments.js b/apps/react/case-portal/src/views/caseComment/Comments.js index 1ab68b25..5deefecc 100644 --- a/apps/react/case-portal/src/views/caseComment/Comments.js +++ b/apps/react/case-portal/src/views/caseComment/Comments.js @@ -9,90 +9,98 @@ import { deleteComment as deleteCommentApi } from './api'; import './comments.css'; export const Comments = ({ comments, aCase, getCaseInfo }) => { - const [backendComments, setBackendComments] = useState(comments); + const [backendComments, setBackendComments] = useState(comments); - const [activeComment, setActiveComment] = useState(null); + const [activeComment, setActiveComment] = useState(null); - const rootComments = backendComments.filter( - (backendComment) => - backendComment.parentId === null || !backendComment.hasOwnProperty('parentId') - ); + const rootComments = backendComments.filter( + (backendComment) => + backendComment.parentId === null || + !Object.prototype.hasOwnProperty.call(backendComment, 'parentId'), + ); - const getReplies = (commentId) => - backendComments - .filter((backendComment) => backendComment.parentId === commentId) - .sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime()); + const getReplies = (commentId) => + backendComments + .filter((backendComment) => backendComment.parentId === commentId) + .sort( + (a, b) => + new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime(), + ); - const keycloak = useSession(); + const keycloak = useSession(); - const addComment = async (text, parentId) => { - CaseService.addComment(keycloak, text, parentId, aCase.businessKey) - .then(() => { - getCaseInfo(aCase); - }) - .then(() => { - getCaseInfo(aCase); - setActiveComment(null); - }) - .catch((err) => console.error(err)); - }; + const addComment = async (text, parentId) => { + CaseService.addComment(keycloak, text, parentId, aCase.businessKey) + .then(() => { + getCaseInfo(aCase); + }) + .then(() => { + getCaseInfo(aCase); + setActiveComment(null); + }) + .catch((err) => console.error(err)); + }; - const updateComment = (text, commentId) => { - CaseService.updateComment(keycloak, text, commentId, aCase.businessKey) - .then(() => { - getCaseInfo(aCase); - setActiveComment(null); - }) - .catch((err) => { - console.error(err); - setActiveComment(null); - }); - }; + const updateComment = (text, commentId) => { + CaseService.updateComment(keycloak, text, commentId, aCase.businessKey) + .then(() => { + getCaseInfo(aCase); + setActiveComment(null); + }) + .catch((err) => { + console.error(err); + setActiveComment(null); + }); + }; - const deleteComment = (commentId) => { - // if (window.confirm('Are you sure you want to remove comment?')) { - deleteCommentApi().then(() => { - const updatedBackendComments = backendComments.filter( - (backendComment) => backendComment.id !== commentId - ); - setBackendComments(updatedBackendComments); - }); - CaseService.deleteComment(keycloak, commentId, aCase.businessKey) - .then(() => { - getCaseInfo(aCase, true); - setActiveComment(null); - }) - .catch((err) => { - console.error(err); - setActiveComment(null); - }); - // } - }; - - useEffect(() => { - setBackendComments(comments); + const deleteComment = (commentId) => { + // if (window.confirm('Are you sure you want to remove comment?')) { + deleteCommentApi().then(() => { + const updatedBackendComments = backendComments.filter( + (backendComment) => backendComment.id !== commentId, + ); + setBackendComments(updatedBackendComments); }); + CaseService.deleteComment(keycloak, commentId, aCase.businessKey) + .then(() => { + getCaseInfo(aCase, true); + setActiveComment(null); + }) + .catch((err) => { + console.error(err); + setActiveComment(null); + }); + // } + }; + + useEffect(() => { + setBackendComments(comments); + }); - return ( - - - Comments - + return ( + + + Comments + - - {rootComments.map((rootComment) => ( - - ))} - - ); + + {rootComments.map((rootComment) => ( + + ))} + + ); }; diff --git a/apps/react/case-portal/src/views/caseComment/api.js b/apps/react/case-portal/src/views/caseComment/api.js index 569e0a14..df83b40e 100644 --- a/apps/react/case-portal/src/views/caseComment/api.js +++ b/apps/react/case-portal/src/views/caseComment/api.js @@ -1,55 +1,55 @@ export const getComments = async () => { - return [ - { - id: '1', - body: 'First comment', - username: 'Jack', - userId: '1', - parentId: null, - createdAt: '2021-08-16T23:00:33.010+02:00' - }, - { - id: '2', - body: 'Second comment', - username: 'John', - userId: '2', - parentId: null, - createdAt: '2021-08-16T23:00:33.010+02:00' - }, - { - id: '3', - body: 'First comment first child', - username: 'John', - userId: '2', - parentId: '1', - createdAt: '2021-08-16T23:00:33.010+02:00' - }, - { - id: '4', - body: 'Second comment second child', - username: 'John', - userId: '2', - parentId: '2', - createdAt: '2021-08-16T23:00:33.010+02:00' - } - ]; + return [ + { + id: '1', + body: 'First comment', + username: 'Jack', + userId: '1', + parentId: null, + createdAt: '2021-08-16T23:00:33.010+02:00', + }, + { + id: '2', + body: 'Second comment', + username: 'John', + userId: '2', + parentId: null, + createdAt: '2021-08-16T23:00:33.010+02:00', + }, + { + id: '3', + body: 'First comment first child', + username: 'John', + userId: '2', + parentId: '1', + createdAt: '2021-08-16T23:00:33.010+02:00', + }, + { + id: '4', + body: 'Second comment second child', + username: 'John', + userId: '2', + parentId: '2', + createdAt: '2021-08-16T23:00:33.010+02:00', + }, + ]; }; export const createComment = async (text, parentId = null) => { - return { - id: Math.random().toString(36).substr(2, 9), - body: text, - parentId, - userId: '1', - username: 'John', - createdAt: new Date().toISOString() - }; + return { + id: Math.random().toString(36).substr(2, 9), + body: text, + parentId, + userId: '1', + username: 'John', + createdAt: new Date().toISOString(), + }; }; export const updateComment = async (text) => { - return { text }; + return { text }; }; export const deleteComment = async () => { - return {}; + return {}; }; diff --git a/apps/react/case-portal/src/views/caseComment/comments.css b/apps/react/case-portal/src/views/caseComment/comments.css index 23de7cf1..28aff8a4 100644 --- a/apps/react/case-portal/src/views/caseComment/comments.css +++ b/apps/react/case-portal/src/views/caseComment/comments.css @@ -1,97 +1,97 @@ .comments { - margin-top: 20px; + margin-top: 20px; } .comments-title { - font-size: 30px; - margin-bottom: 20px; + font-size: 30px; + margin-bottom: 20px; } .comments-container { - margin-top: 40px; + margin-top: 40px; } .comment-form-title { - font-size: 22px; + font-size: 22px; } .comment-form-textarea { - width: 100%; - height: 80px; - margin-bottom: 8px; - margin-top: 8px; - border: 1px solid rgb(107, 114, 12); + width: 100%; + height: 80px; + margin-bottom: 8px; + margin-top: 8px; + border: 1px solid rgb(107, 114, 12); } .comment-form-button { - font-size: 16px; - padding: 8px 16px; - background: rgb(59, 130, 246); - border-radius: 8px; - color: white; + font-size: 16px; + padding: 8px 16px; + background: rgb(59, 130, 246); + border-radius: 8px; + color: white; } .comment-form-button:hover:enabled { - cursor: pointer; - background: rgb(37, 99, 235); + cursor: pointer; + background: rgb(37, 99, 235); } .comment-form-button:disabled { - opacity: 0.7; - cursor: default; + opacity: 0.7; + cursor: default; } .comment-form-cancel-button { - margin-left: 10px; + margin-left: 10px; } .comment { - display: flex; - margin-bottom: 28px; + display: flex; + margin-bottom: 28px; } .comment-image-container { - margin-right: 12px; + margin-right: 12px; } .comment-image-container img { - border-radius: 50px; + border-radius: 50px; } .comment-right-part { - width: 100%; + width: 100%; } .comment-content { - display: flex; + display: flex; } .comment-author { - margin-right: 8px; - font-size: 20px; - color: rgb(59, 130, 246); + margin-right: 8px; + font-size: 20px; + color: rgb(59, 130, 246); } .comment-text { - font-size: 18px; + font-size: 18px; } .comment-actions { - display: flex; - font-size: 12px; - color: rgb(51, 51, 51); - cursor: pointer; - margin-top: 8px; + display: flex; + font-size: 12px; + color: rgb(51, 51, 51); + cursor: pointer; + margin-top: 8px; } .comment-action { - margin-right: 8px; + margin-right: 8px; } .comment-action:hover { - text-decoration: underline; + text-decoration: underline; } .replies { - margin-top: 20px; + margin-top: 20px; } diff --git a/apps/react/case-portal/src/views/caseEmail/caseEmailList.js b/apps/react/case-portal/src/views/caseEmail/caseEmailList.js index 0c5660de..6faaf303 100644 --- a/apps/react/case-portal/src/views/caseEmail/caseEmailList.js +++ b/apps/react/case-portal/src/views/caseEmail/caseEmailList.js @@ -1,15 +1,15 @@ import EmailIcon from '@mui/icons-material/Email'; import { - Avatar, - Box, - Button, - Collapse, - List, - ListItem, - ListItemAvatar, - ListItemText, - Modal, - Typography + Avatar, + Box, + Button, + Collapse, + List, + ListItem, + ListItemAvatar, + ListItemText, + Modal, + Typography, } from '@mui/material'; import { useSession } from 'SessionStoreContext'; import DOMPurify from 'dompurify'; @@ -19,124 +19,124 @@ import { EmailService } from '../../services'; import { EmailForm } from './emailForm'; export const CaseEmailsList = ({ caseInstanceBusinessKey }) => { - const [emails, setEmails] = useState([]); - const [expandedEmailId, setExpandedEmailId] = useState(null); - const [isModalOpen, setIsModalOpen] = useState(false); - const { t } = useTranslation(); - const keycloak = useSession(); + const [emails, setEmails] = useState([]); + const [expandedEmailId, setExpandedEmailId] = useState(null); + const [isModalOpen, setIsModalOpen] = useState(false); + const { t } = useTranslation(); + const keycloak = useSession(); - useEffect(() => { - EmailService.getAllByBusinessKey(keycloak, caseInstanceBusinessKey) - .then((data) => { - setEmails(data); - }) - .catch((err) => { - console.log(err.message); - }); - }, [caseInstanceBusinessKey]); + useEffect(() => { + EmailService.getAllByBusinessKey(keycloak, caseInstanceBusinessKey) + .then((data) => { + setEmails(data); + }) + .catch((err) => { + console.log(err.message); + }); + }, [caseInstanceBusinessKey]); - const handleExpandToggle = (emailId) => { - setExpandedEmailId(expandedEmailId === emailId ? null : emailId); - }; + const handleExpandToggle = (emailId) => { + setExpandedEmailId(expandedEmailId === emailId ? null : emailId); + }; - const handleEmailSend = (emailData) => { - EmailService.send(keycloak, { - ...emailData, - outbound: true, - caseInstanceBusinessKey - }); - setIsModalOpen(false); - }; + const handleEmailSend = (emailData) => { + EmailService.send(keycloak, { + ...emailData, + outbound: true, + caseInstanceBusinessKey, + }); + setIsModalOpen(false); + }; - const handleOpenModal = () => { - setIsModalOpen(true); - }; + const handleOpenModal = () => { + setIsModalOpen(true); + }; - const handleCloseModal = () => { - setIsModalOpen(false); - }; + const handleCloseModal = () => { + setIsModalOpen(false); + }; - return ( - <> - + + + + + + + {emails.map((email) => ( + <> + handleExpandToggle(email._id)}> + + + + + + + + {email.subject} + + + {t('pages.emails.datagrid.receivedDateTime')}:{' '} + {new Date(email.receivedDateTime).toLocaleString()} + + + {t('pages.emails.datagrid.hasAttachments')}:{' '} + {email.hasAttachments ? 'Yes' : 'No'} + + + } + /> + + - {t('pages.emails.datagrid.action.compose')} - - - - - - - - {emails.map((email) => ( - <> - handleExpandToggle(email._id)}> - - - - - - - - {email.subject} - - - {t('pages.emails.datagrid.receivedDateTime')}:{' '} - {new Date(email.receivedDateTime).toLocaleString()} - - - {t('pages.emails.datagrid.hasAttachments')}:{' '} - {email.hasAttachments ? 'Yes' : 'No'} - - - } - /> - - - - - {t('pages.emails.datagrid.to')}: {email.to} - - - - - - ))} - - - ); + + + {t('pages.emails.datagrid.to')}: {email.to} + + + + + + ))} + + + ); }; diff --git a/apps/react/case-portal/src/views/caseEmail/emailForm.js b/apps/react/case-portal/src/views/caseEmail/emailForm.js index 3977abb1..2415bfc6 100644 --- a/apps/react/case-portal/src/views/caseEmail/emailForm.js +++ b/apps/react/case-portal/src/views/caseEmail/emailForm.js @@ -1,81 +1,81 @@ -import React, { useState } from 'react'; +import { useState } from 'react'; import { TextField, Button, Grid, Typography } from '@mui/material'; import { makeStyles } from '@mui/styles'; import { useTranslation } from 'react-i18next'; -const useStyles = makeStyles((theme) => ({ - form: { - width: '100%' - }, - submitButton: { - marginTop: '16px' - } +const useStyles = makeStyles(() => ({ + form: { + width: '100%', + }, + submitButton: { + marginTop: '16px', + }, })); export const EmailForm = ({ onSubmit }) => { - const [recipient, setRecipient] = useState(''); - const [subject, setSubject] = useState(''); - const [body, setBody] = useState(''); - const { t } = useTranslation(); - const classes = useStyles(); + const [recipient, setRecipient] = useState(''); + const [subject, setSubject] = useState(''); + const [body, setBody] = useState(''); + const { t } = useTranslation(); + const classes = useStyles(); - const handleSubmit = (e) => { - e.preventDefault(); - onSubmit({ to: recipient, subject, body }); - // Clear the form after submission - setRecipient(''); - setSubject(''); - setBody(''); - }; + const handleSubmit = (e) => { + e.preventDefault(); + onSubmit({ to: recipient, subject, body }); + // Clear the form after submission + setRecipient(''); + setSubject(''); + setBody(''); + }; - return ( - <> - - {t('pages.emails.form.title')} - -
- - - setRecipient(e.target.value)} - /> - - - setSubject(e.target.value)} - /> - - - setBody(e.target.value)} - /> - - - - - -
- - ); + return ( + <> + + {t('pages.emails.form.title')} + +
+ + + setRecipient(e.target.value)} + /> + + + setSubject(e.target.value)} + /> + + + setBody(e.target.value)} + /> + + + + + +
+ + ); }; diff --git a/apps/react/case-portal/src/views/caseForm/Documents.js b/apps/react/case-portal/src/views/caseForm/Documents.js index 50dd0375..d2043fcd 100644 --- a/apps/react/case-portal/src/views/caseForm/Documents.js +++ b/apps/react/case-portal/src/views/caseForm/Documents.js @@ -21,163 +21,190 @@ import { FileService } from '../../services'; import CaseStore from './store'; function Documents({ aCase, initialValue }) { - const keycloak = useSession(); - const [fetching, setFetching] = useState(false); - const [percent, setPercent] = useState(0); - const [messageError, setMessageError] = useState(null); - const [filesUploaded, setFilesUploaded] = useState(initialValue); - - const handleChange = (files) => { - setFetching(true); - - CaseStore.saveDocumentsFromFiles(keycloak, files, aCase.businessKey, setPercent) - .then((data) => { - setFilesUploaded([...filesUploaded, ...data]); - }) - .catch((e) => { - console.log(e); - setMessageError(e); - }) - .finally(() => { - const timer = setTimeout(() => { - setPercent(0); - setFetching(false); - clearTimeout(timer); - }, 800); - }); - }; - - const handleError = (error, file) => { - console.log('error code ' + error.code + ': ' + error.message); - }; - - const handleCloseMesssage = () => { - setMessageError(null); - }; - - const AnimatedCircularProgress = React.forwardRef((props, ref) => { - return ( -
- - - - {`${Math.round(props.value)}%`} - - -
- ); - }); - - const Alert = React.forwardRef((props, ref) => { - return ; - }); - - return ( - - - - - + const keycloak = useSession(); + const [fetching, setFetching] = useState(false); + const [percent, setPercent] = useState(0); + const [messageError, setMessageError] = useState(null); + const [filesUploaded, setFilesUploaded] = useState(initialValue); + + const handleChange = (files) => { + setFetching(true); + + CaseStore.saveDocumentsFromFiles( + keycloak, + files, + aCase.businessKey, + setPercent, + ) + .then((data) => { + setFilesUploaded([...filesUploaded, ...data]); + }) + .catch((e) => { + console.log(e); + setMessageError(e); + }) + .finally(() => { + const timer = setTimeout(() => { + setPercent(0); + setFetching(false); + clearTimeout(timer); + }, 800); + }); + }; + + const handleError = (error) => { + console.log('error code ' + error.code + ': ' + error.message); + }; + + const handleCloseMesssage = () => { + setMessageError(null); + }; + + const AnimatedCircularProgress = React.forwardRef( + function AnimatedCircularProgress(props, ref) { + return ( +
+ + + + {`${Math.round(props.value)}%`} + + +
+ ); + }, + ); + + const Alert = React.forwardRef(function Alert(props, ref) { + return ; + }); + + return ( + + + + + + + +
+ + + + Drop files here or click to upload + + + + + + +
+
+ + {filesUploaded && filesUploaded.length > 0 && ( + + {filesUploaded.map((file, index) => { + return ( + downloadFile(file, keycloak)} + > + + {file.type === 'application/pdf' && ( + + + )} -
- - - - Drop files here or click to upload - - - - - - -
-
+ {file.type === 'application/xls' && ( + + + + )} - {filesUploaded && filesUploaded.length > 0 && ( - - {filesUploaded.map((file, index) => { - return ( - downloadFile(file, keycloak)}> - - {file.type === 'application/pdf' && ( - - - - )} - - {file.type === 'application/xls' && ( - - - - )} - - {file.type && file.type.includes('image/') && ( - - - - )} - - {file.type !== 'application/xls' && - file.type !== 'application/pdf' && - file.type && - !file.type.includes('image/') && ( - - - - )} - - - - ); - })} - - )} - - - - {messageError} - - -
- ); + {file.type && file.type.includes('image/') && ( + + + + )} + + {file.type !== 'application/xls' && + file.type !== 'application/pdf' && + file.type && + !file.type.includes('image/') && ( + + + + )} + + + + ); + })} + + )} + + + + {messageError} + + + + ); } const downloadFile = (file, keycloak) => { - return FileService.download(file, keycloak); + return FileService.download(file, keycloak); }; export default Documents; diff --git a/apps/react/case-portal/src/views/caseForm/caseForm.js b/apps/react/case-portal/src/views/caseForm/caseForm.js index 209ec4c6..2f0cc6c6 100644 --- a/apps/react/case-portal/src/views/caseForm/caseForm.js +++ b/apps/react/case-portal/src/views/caseForm/caseForm.js @@ -39,444 +39,459 @@ import { TaskList } from '../taskList/taskList'; import Documents from './Documents'; export const CaseForm = ({ open, handleClose, aCase, keycloak }) => { - const [caseDef, setCaseDef] = useState(null); - const [form, setForm] = useState(null); - const [formData, setFormData] = useState(null); - const [comments, setComments] = useState(null); - const [documents, setDocuments] = useState(null); - const [mainTabIndex, setMainTabIndex] = useState(0); - const [rightTabIndex, setRightTabIndex] = useState(0); - const [activeStage, setActiveStage] = React.useState(0); - const [stages, setStages] = useState([]); - const { t } = useTranslation(); - - const [anchorEl, setAnchorEl] = React.useState(null); - const isMenuOpen = Boolean(anchorEl); - - const [openProcessesDialog, setOpenProcessesDialog] = useState(false); - const [manualInitProcessDefs, setManualInitProcessDefs] = useState([]); - - const [isFollowing, setIsFollowing] = useState(false); - const handleFollowClick = () => { - setIsFollowing(!isFollowing); - }; - - useEffect(() => { - getCaseInfo(aCase); - }, [open, aCase]); - - useEffect(() => { - if (activeStage) { - const stage = caseDef.stages.find((o) => o.name === activeStage); - const stageProcesses = stage ? stage.processesDefinitions : []; - const autoStartProcesses = stageProcesses - ? stageProcesses.filter((o) => o.autoStart === false) - : undefined; - setManualInitProcessDefs(autoStartProcesses); - } - }, [activeStage]); - - const handleMenuOpen = (event) => { - setAnchorEl(event.currentTarget); - }; - - const handleMenuClose = () => { - setAnchorEl(null); - }; - - const getCaseInfo = (aCase) => { - CaseService.getCaseDefinitionsById(keycloak, aCase.caseDefinitionId) - .then((data) => { - setCaseDef(data); - setStages(data.stages.sort((a, b) => a.index - b.index).map((o) => o.name)); - return FormService.getByKey(keycloak, data.formKey); - }) - .then((data) => { - setForm(data); - return CaseService.getCaseById(keycloak, aCase.businessKey); - }) - .then((caseData) => { - setComments( - caseData?.comments?.sort( - (a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime() - ) - ); - setDocuments(caseData?.documents); - setFormData({ - data: caseData.attributes.reduce( - (obj, item) => - Object.assign(obj, { - [item.name]: tryParseJSONObject(item.value) - ? JSON.parse(item.value) - : item.value - }), - {} - ), - metadata: {}, - isValid: true - }); - setActiveStage(caseData.stage); - }) - .catch((err) => { - console.log(err.message); - }); - }; - - const handleMainTabChanged = (event, newValue) => { - setMainTabIndex(newValue); - }; - - const handleRightTabChanged = (event, newValue) => { - setRightTabIndex(newValue); - }; - - const handleUpdateCaseStatus = (newStatus) => { - CaseService.patch( - keycloak, - aCase.businessKey, - JSON.stringify({ - status: newStatus - }) - ) - .then(() => { - handleClose(); - }) - .catch((err) => { - console.log(err.message); - }); - }; - - const updateActiveState = () => { - CaseService.getCaseById(keycloak, aCase.businessKey).then((data) => - setActiveStage(data.stage) + const [caseDef, setCaseDef] = useState(null); + const [form, setForm] = useState(null); + const [formData, setFormData] = useState(null); + const [comments, setComments] = useState(null); + const [documents, setDocuments] = useState(null); + const [mainTabIndex, setMainTabIndex] = useState(0); + const [rightTabIndex, setRightTabIndex] = useState(0); + const [activeStage, setActiveStage] = React.useState(0); + const [stages, setStages] = useState([]); + const { t } = useTranslation(); + + const [anchorEl, setAnchorEl] = React.useState(null); + const isMenuOpen = Boolean(anchorEl); + + const [openProcessesDialog, setOpenProcessesDialog] = useState(false); + const [manualInitProcessDefs, setManualInitProcessDefs] = useState([]); + + const [isFollowing, setIsFollowing] = useState(false); + const handleFollowClick = () => { + setIsFollowing(!isFollowing); + }; + + useEffect(() => { + getCaseInfo(aCase); + }, [open, aCase]); + + useEffect(() => { + if (activeStage) { + const stage = caseDef.stages.find((o) => o.name === activeStage); + const stageProcesses = stage ? stage.processesDefinitions : []; + const autoStartProcesses = stageProcesses + ? stageProcesses.filter((o) => o.autoStart === false) + : undefined; + setManualInitProcessDefs(autoStartProcesses); + } + }, [activeStage]); + + const handleMenuOpen = (event) => { + setAnchorEl(event.currentTarget); + }; + + const handleMenuClose = () => { + setAnchorEl(null); + }; + + const getCaseInfo = (aCase) => { + CaseService.getCaseDefinitionsById(keycloak, aCase.caseDefinitionId) + .then((data) => { + setCaseDef(data); + setStages( + data.stages.sort((a, b) => a.index - b.index).map((o) => o.name), + ); + return FormService.getByKey(keycloak, data.formKey); + }) + .then((data) => { + setForm(data); + return CaseService.getCaseById(keycloak, aCase.businessKey); + }) + .then((caseData) => { + setComments( + caseData?.comments?.sort( + (a, b) => + new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime(), + ), ); - }; - - const handleOpenProcessesDialog = () => { - setOpenProcessesDialog(true); - handleMenuClose(); - }; - - const handleCloseProcessesDialog = () => { - setOpenProcessesDialog(false); - }; - - const startProcess = (key) => { - ProcessDefService.start(keycloak, key, aCase.businessKey); - - // Close the dialog - handleCloseProcessesDialog(); - }; - - return ( - aCase && - caseDef && - form && - formData && ( -
- + Object.assign(obj, { + [item.name]: tryParseJSONObject(item.value) + ? JSON.parse(item.value) + : item.value, + }), + {}, + ), + metadata: {}, + isValid: true, + }); + setActiveStage(caseData.stage); + }) + .catch((err) => { + console.log(err.message); + }); + }; + + const handleMainTabChanged = (event, newValue) => { + setMainTabIndex(newValue); + }; + + const handleRightTabChanged = (event, newValue) => { + setRightTabIndex(newValue); + }; + + const handleUpdateCaseStatus = (newStatus) => { + CaseService.patch( + keycloak, + aCase.businessKey, + JSON.stringify({ + status: newStatus, + }), + ) + .then(() => { + handleClose(); + }) + .catch((err) => { + console.log(err.message); + }); + }; + + const updateActiveState = () => { + CaseService.getCaseById(keycloak, aCase.businessKey).then((data) => + setActiveStage(data.stage), + ); + }; + + const handleOpenProcessesDialog = () => { + setOpenProcessesDialog(true); + handleMenuClose(); + }; + + const handleCloseProcessesDialog = () => { + setOpenProcessesDialog(false); + }; + + const startProcess = (key) => { + ProcessDefService.start(keycloak, key, aCase.businessKey); + + // Close the dialog + handleCloseProcessesDialog(); + }; + + return ( + aCase && + caseDef && + form && + formData && ( +
+ + + + + + + +
+ {caseDef.name}: {aCase?.businessKey} +
+
+ {aCase?.statusDescription} +
+
+ {aCase.status === CaseStatus.WipCaseStatus.description && ( + - )} - {aCase.status === CaseStatus.ClosedCaseStatus.description && ( - - - - - - )} - {aCase.status === CaseStatus.ArchivedCaseStatus.description && ( - - - - )} - - - {/* Case Actions Menu */} - - - - - {( - - {t('pages.caseform.actions.startProcess')} - - )} - -
-
- + {t('pages.caseform.actions.close')} + + )} + {aCase.status === CaseStatus.ClosedCaseStatus.description && ( + + + + + + )} + {aCase.status === CaseStatus.ArchivedCaseStatus.description && ( + + + + )} + + + {/* Case Actions Menu */} + + + + + { + + {t('pages.caseform.actions.startProcess')} + + } + + + + + + { + return o === activeStage; + })} + > + {stages.map((label) => { + const stagesProps = {}; + const labelProps = {}; + return ( + + {label} + + ); + })} + + + + + + + + + + + + + {/* Case Details */} + - { - return o === activeStage; - })} - > - {stages.map((label, index) => { - const stagesProps = {}; - const labelProps = {}; - return ( - - {label} - - ); - })} - + + {form.title} + + + + - - - - - - - - - - - {/* Case Details */} - - - - {form.title} - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
- - {manualInitProcessDefs && ( - - - {t('pages.caseform.manualProcesses.title')} - - - {manualInitProcessDefs.map((process, index) => ( - - startProcess(process.definitionKey)} - sx={{ - '&:hover': { - backgroundColor: 'action.hover' - } - }} - > - - - {index !== manualInitProcessDefs.length - 1 && } - - ))} - - - )} -
- ) - ); + + + + + +
+ + {manualInitProcessDefs && ( + + + {t('pages.caseform.manualProcesses.title')} + + + {manualInitProcessDefs.map((process, index) => ( + + startProcess(process.definitionKey)} + sx={{ + '&:hover': { + backgroundColor: 'action.hover', + }, + }} + > + + + {index !== manualInitProcessDefs.length - 1 && } + + ))} + + + )} +
+ ) + ); }; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); function a11yProps(index) { - return { - id: `simple-tab-${index}`, - 'aria-controls': `simple-tabpanel-${index}` - }; + return { + id: `simple-tab-${index}`, + 'aria-controls': `simple-tabpanel-${index}`, + }; } function TabPanel(props) { - const { children, value, index, ...other } = props; - - return ( - - ); + const { children, value, index, ...other } = props; + + return ( + + ); } TabPanel.propTypes = { - children: PropTypes.node, - index: PropTypes.number.isRequired, - value: PropTypes.number.isRequired + children: PropTypes.node, + index: PropTypes.number.isRequired, + value: PropTypes.number.isRequired, }; diff --git a/apps/react/case-portal/src/views/caseForm/newCaseForm.js b/apps/react/case-portal/src/views/caseForm/newCaseForm.js index 27715842..9bbae5fa 100644 --- a/apps/react/case-portal/src/views/caseForm/newCaseForm.js +++ b/apps/react/case-portal/src/views/caseForm/newCaseForm.js @@ -17,113 +17,127 @@ import { CaseService, FormService } from '../../services'; import { StorageService } from 'plugins/storage'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); -export const NewCaseForm = ({ open, handleClose, caseDefId, setLastCreatedCase }) => { - const [caseDef, setCaseDef] = useState([]); - const [form, setForm] = useState([]); - const [formData, setFormData] = useState(null); - const keycloak = useSession(); +export const NewCaseForm = ({ + open, + handleClose, + caseDefId, + setLastCreatedCase, +}) => { + const [caseDef, setCaseDef] = useState([]); + const [form, setForm] = useState([]); + const [formData, setFormData] = useState(null); + const keycloak = useSession(); - useEffect(() => { - CaseService.getCaseDefinitionsById(keycloak, caseDefId) - .then((data) => { - setCaseDef(data); - return FormService.getByKey(keycloak, data.formKey); - }) - .then((data) => { - setForm(data); - setFormData({ - data: {}, - metadata: {}, - isValid: true - }); - }) - .catch((err) => { - console.log(err.message); - }); - }, [open, caseDefId]); - - const onSave = () => { - const caseAttributes = []; - Object.keys(formData.data).forEach((key) => { - caseAttributes.push({ - name: key, - value: - typeof formData.data[key] !== 'object' - ? formData.data[key] - : JSON.stringify(formData.data[key]), - type: typeof formData.data[key] !== 'object' ? 'String' : 'Json' - }); + useEffect(() => { + CaseService.getCaseDefinitionsById(keycloak, caseDefId) + .then((data) => { + setCaseDef(data); + return FormService.getByKey(keycloak, data.formKey); + }) + .then((data) => { + setForm(data); + setFormData({ + data: {}, + metadata: {}, + isValid: true, }); + }) + .catch((err) => { + console.log(err.message); + }); + }, [open, caseDefId]); + + const onSave = () => { + const caseAttributes = []; + Object.keys(formData.data).forEach((key) => { + caseAttributes.push({ + name: key, + value: + typeof formData.data[key] !== 'object' + ? formData.data[key] + : JSON.stringify(formData.data[key]), + type: typeof formData.data[key] !== 'object' ? 'String' : 'Json', + }); + }); - CaseService.createCase( - keycloak, - JSON.stringify({ - caseDefinitionId: caseDefId, - owner: { - id: keycloak.subject || '', - name: keycloak.idTokenParsed.name || '', - email: keycloak.idTokenParsed.email || '', - phone: keycloak.idTokenParsed.phone || '', - }, - attributes: caseAttributes - }) - ) - .then((data) => { - setLastCreatedCase(data); - handleClose(); - }) - .catch((err) => { - console.log(err.message); - }); - }; + CaseService.createCase( + keycloak, + JSON.stringify({ + caseDefinitionId: caseDefId, + owner: { + id: keycloak.subject || '', + name: keycloak.idTokenParsed.name || '', + email: keycloak.idTokenParsed.email || '', + phone: keycloak.idTokenParsed.phone || '', + }, + attributes: caseAttributes, + }), + ) + .then((data) => { + setLastCreatedCase(data); + handleClose(); + }) + .catch((err) => { + console.log(err.message); + }); + }; - return ( -
- - - - - - - -
{caseDef.name}
-
- -
-
+ return ( +
+ + + + + + + +
{caseDef.name}
+
+ +
+
- - - - - {form.title} - - {form.toolTip && ( - - - - )} - - - - -
-
- ); + + + + + {form.title} + + {form.toolTip && ( + + + + )} + + + + +
+
+ ); }; diff --git a/apps/react/case-portal/src/views/caseForm/store/index.js b/apps/react/case-portal/src/views/caseForm/store/index.js index 7d6977ae..6990ff68 100644 --- a/apps/react/case-portal/src/views/caseForm/store/index.js +++ b/apps/react/case-portal/src/views/caseForm/store/index.js @@ -1,43 +1,48 @@ import { CaseService, FileService } from '../../../services'; const CaseStore = { - saveDocumentsFromFiles + saveDocumentsFromFiles, }; -async function saveDocumentsFromFiles(keycloak, files, businessKey, progressCallback) { - return Promise.all( - files.map((file) => { - const args = { - dir: 'cases', - file: file, - keycloak, - progress: (e, percent) => { - progressCallback(percent); - } - }; +async function saveDocumentsFromFiles( + keycloak, + files, + businessKey, + progressCallback, +) { + return Promise.all( + files.map((file) => { + const args = { + dir: 'cases', + file: file, + keycloak, + progress: (e, percent) => { + progressCallback(percent); + }, + }; - return FileService.upload(args) - .then((data) => saveDocument(keycloak, businessKey, data)) - .catch((e) => { - return Promise.reject( - `Could't upload this file "${file.name}", try again with other file.` - ); - }); - }) - ); + return FileService.upload(args) + .then((data) => saveDocument(keycloak, businessKey, data)) + .catch(() => { + return Promise.reject( + `Could't upload this file "${file.name}", try again with other file.`, + ); + }); + }), + ); } async function saveDocument(keycloak, businessKey, document) { - try { - const data = await CaseService.addDocuments(keycloak, businessKey, document); - if (!data.ok) { - return Promise.reject(data); - } - - return Promise.resolve(document); - } catch (e) { - return Promise.reject(e); + try { + const data = await CaseService.addDocuments(keycloak, businessKey, document); + if (!data.ok) { + return Promise.reject(data); } + + return Promise.resolve(document); + } catch (e) { + return Promise.reject(e); + } } export default CaseStore; diff --git a/apps/react/case-portal/src/views/caseList/caseList.js b/apps/react/case-portal/src/views/caseList/caseList.js index b7c3edc3..da2f653a 100644 --- a/apps/react/case-portal/src/views/caseList/caseList.js +++ b/apps/react/case-portal/src/views/caseList/caseList.js @@ -23,446 +23,469 @@ import TablePagination from '@mui/material/TablePagination'; import Config from 'consts/index'; export const CaseList = ({ status, caseDefId }) => { - const PaginationContext = createContext(); - const { t } = useTranslation(); - const [stages, setStages] = useState([]); - const [cases, setCases] = useState([]); - const [aCase, setACase] = useState(null); - const [newCaseDefId, setNewCaseDefId] = useState(null); - const [lastCreatedCase, setLastCreatedCase] = useState(null); - const [openCaseForm, setOpenCaseForm] = useState(false); - const [openNewCaseForm, setOpenNewCaseForm] = useState(false); - const [view, setView] = React.useState('list'); - const [snackOpen, setSnackOpen] = useState(false); - const keycloak = useSession(); - const [caseDefs, setCaseDefs] = useState([]); - const [fetching, setFetching] = useState(false); - const [filter, setFilter] = useState({ - sort: '', - limit: 10, - after: '', - before: '', - cursors: {}, - hasPrevious: false, - hasNext: false + const PaginationContext = createContext(); + const { t } = useTranslation(); + const [stages, setStages] = useState([]); + const [cases, setCases] = useState([]); + const [aCase, setACase] = useState(null); + const [newCaseDefId, setNewCaseDefId] = useState(null); + const [lastCreatedCase, setLastCreatedCase] = useState(null); + const [openCaseForm, setOpenCaseForm] = useState(false); + const [openNewCaseForm, setOpenNewCaseForm] = useState(false); + const [view, setView] = React.useState('list'); + const [snackOpen, setSnackOpen] = useState(false); + const keycloak = useSession(); + const [caseDefs, setCaseDefs] = useState([]); + const [fetching, setFetching] = useState(false); + const [filter, setFilter] = useState({ + sort: '', + limit: 10, + after: '', + before: '', + cursors: {}, + hasPrevious: false, + hasNext: false, + }); + + useEffect(() => { + if (Config.WebsocketsEnabled) { + const websocketUrl = Config.WebsocketUrl; + const topic = Config.WebsocketsTopicCaseCreated; + const ws = new WebSocket(`${websocketUrl}/${topic}`); + ws.onmessage = () => { + fetchCases( + setFetching, + keycloak, + caseDefId, + setStages, + status, + filter, + setCases, + setFilter, + ); + }; + return () => { + ws.close(); // Close WebSocket connection when component unmounts + }; + } + }, []); + + useEffect(() => { + fetchCases( + setFetching, + keycloak, + caseDefId, + setStages, + status, + filter, + setCases, + setFilter, + ); + }, [caseDefId, status, openNewCaseForm]); + + useEffect(() => { + CaseService.getCaseDefinitions(keycloak).then((resp) => { + setCaseDefs(resp); }); + }, []); + + const makeColumns = () => { + return [ + { + field: 'businessKey', + headerName: t('pages.caselist.datagrid.columns.businesskey'), + width: 150, + }, + { + field: 'statusDescription', + headerName: t('pages.caselist.datagrid.columns.statusdescription'), + width: 150, + }, + { + field: 'stage', + headerName: t('pages.caselist.datagrid.columns.stage'), + width: 220, + }, + { + field: 'createdAt', + headerName: t('pages.caselist.datagrid.columns.createdat'), + width: 220, + }, + { + field: 'ownerName', + headerName: t('pages.caselist.datagrid.columns.caseOwnerName'), + width: 150, + valueGetter: (value, row) => row?.owner?.name, + }, + { + field: 'queueId', + headerName: t('pages.caselist.datagrid.columns.queue'), + width: 200, + }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (data) => { + const onClick = (e) => { + setACase(data.row); + e.stopPropagation(); + setOpenCaseForm(true); + }; + + return ( + + ); + }, + }, + ]; + }; + + const handleCloseCaseForm = () => { + setOpenCaseForm(false); + fetchCases( + setFetching, + keycloak, + caseDefId, + setStages, + status, + filter, + setCases, + setFilter, + ); + }; + + const handleCloseNewCaseForm = () => { + setOpenNewCaseForm(false); + setSnackOpen(true); + }; + + const handleNewCaseAction = () => { + setLastCreatedCase(null); + setNewCaseDefId(caseDefId); + setOpenNewCaseForm(true); + }; + + const handleChangeView = (event, nextView) => { + if (nextView !== null) { + setView(nextView); + } + }; - useEffect(() => { - if (Config.WebsocketsEnabled) { - const websocketUrl = Config.WebsocketUrl; - const topic = Config.WebsocketsTopicCaseCreated; - const ws = new WebSocket(`${websocketUrl}/${topic}`); - ws.onmessage = (event) => { - fetchCases( - setFetching, - keycloak, - caseDefId, - setStages, - status, - filter, - setCases, - setFilter - ); - }; - return () => { - ws.close(); // Close WebSocket connection when component unmounts - }; - } - }, []); + const fetchKanbanConfig = () => { + return caseDefs.find((o) => o.id === caseDefId).kanbanConfig; + }; - useEffect(() => { - fetchCases( - setFetching, - keycloak, - caseDefId, - setStages, - status, - filter, - setCases, - setFilter - ); - }, [caseDefId, status, openNewCaseForm]); + const handleCloseSnack = (event, reason) => { + if (reason === 'clickaway') { + return; + } - useEffect(() => { - CaseService.getCaseDefinitions(keycloak).then((resp) => { - setCaseDefs(resp); - }); - }, []); - - const makeColumns = () => { - return [ - { - field: 'businessKey', - headerName: t('pages.caselist.datagrid.columns.businesskey'), - width: 150 - }, - { - field: 'statusDescription', - headerName: t('pages.caselist.datagrid.columns.statusdescription'), - width: 150 - }, - { field: 'stage', headerName: t('pages.caselist.datagrid.columns.stage'), width: 220 }, - { - field: 'createdAt', - headerName: t('pages.caselist.datagrid.columns.createdat'), - width: 220 - }, - { - field: 'ownerName', - headerName: t('pages.caselist.datagrid.columns.caseOwnerName'), - width: 150, - valueGetter: (params) => params.row?.owner?.name - }, - { - field: 'queueId', - headerName: t('pages.caselist.datagrid.columns.queue'), - width: 200 - }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onClick = (e) => { - setACase(params.row); - e.stopPropagation(); - setOpenCaseForm(true); - }; - - return ( - - ); - } - } - ]; - }; + setSnackOpen(false); + }; + + const snackAction = lastCreatedCase && ( + + + + + + + ); + + const handlerNextPage = () => { + setFetching(true); - const handleCloseCaseForm = () => { - setOpenCaseForm(false); - fetchCases( - setFetching, - keycloak, - caseDefId, - setStages, - status, - filter, - setCases, - setFilter - ); + const next = { + sort: filter.sort, + limit: filter.limit, + after: filter.cursors.after, }; - const handleCloseNewCaseForm = () => { - setOpenNewCaseForm(false); - setSnackOpen(true); - }; + CaseService.filterCase(keycloak, caseDefId, status, next) + .then((resp) => { + const { data, paging } = resp; - const handleNewCaseAction = () => { - setLastCreatedCase(null); - setNewCaseDefId(caseDefId); - setOpenNewCaseForm(true); - }; + setCases(data); + setFilter({ + ...filter, + cursors: paging.cursors, + hasPrevious: paging.hasPrevious, + hasNext: paging.hasNext, + }); + }) + .finally(() => { + setFetching(false); + }); + }; - const handleChangeView = (event, nextView) => { - if (nextView !== null) { - setView(nextView); - } - }; + const handlerPriorPage = () => { + setFetching(true); - const fetchKanbanConfig = () => { - return caseDefs.find((o) => o.id === caseDefId).kanbanConfig; + const prior = { + sort: filter.sort, + limit: filter.limit, + before: filter.cursors.before, }; - const handleCloseSnack = (event, reason) => { - if (reason === 'clickaway') { - return; - } + CaseService.filterCase(keycloak, caseDefId, status, prior) + .then((resp) => { + const { data, paging } = resp; - setSnackOpen(false); + setCases(data); + setFilter({ + ...filter, + cursors: paging.cursors, + hasPrevious: paging.hasPrevious, + hasNext: paging.hasNext, + }); + }) + .finally(() => { + setFetching(false); + }); + }; + + function TablePaginationActions(props) { + const theme = useTheme(); + const filter = useContext(PaginationContext); + const { onPageChange } = props; + + const handleBackButtonClick = (event) => { + onPageChange(event, 'back'); }; - const snackAction = lastCreatedCase && ( - - - - - - - ); + const handleNextButtonClick = (event) => { + onPageChange(event, 'next'); + }; - const handlerNextPage = () => { - setFetching(true); + const { hasPrevious, hasNext } = filter; - const next = { - sort: filter.sort, - limit: filter.limit, - after: filter.cursors.after - }; + return ( + + + {theme.direction === 'rtl' ? ( + + ) : ( + + )} + + + {theme.direction === 'rtl' ? ( + + ) : ( + + )} + + + ); + } - CaseService.filterCase(keycloak, caseDefId, status, next) - .then((resp) => { - const { data, paging } = resp; + const CustomPagination = () => { + return ( + + Rows per page:
+ } + rowsPerPage={filter.limit} + rowsPerPageOptions={[5, 10, 25, 50]} + getItemAriaLabel={() => ''} + labelDisplayedRows={() => ''} + onPageChange={(e, type) => { + const action = { + next: handlerNextPage, + back: handlerPriorPage, + }; + action[type](); + }} + onRowsPerPageChange={(e) => { + setFetching(true); - setCases(data); - setFilter({ - ...filter, - cursors: paging.cursors, - hasPrevious: paging.hasPrevious, - hasNext: paging.hasNext - }); + CaseService.filterCase(keycloak, caseDefId, status, { + limit: e.target.value, }) - .finally(() => { - setFetching(false); - }); - }; - - const handlerPriorPage = () => { - setFetching(true); - - const prior = { - sort: filter.sort, - limit: filter.limit, - before: filter.cursors.before - }; - - CaseService.filterCase(keycloak, caseDefId, status, prior) - .then((resp) => { + .then((resp) => { const { data, paging } = resp; setCases(data); setFilter({ - ...filter, - cursors: paging.cursors, - hasPrevious: paging.hasPrevious, - hasNext: paging.hasNext + ...filter, + limit: e.target.value, + cursors: paging.cursors, + hasPrevious: paging.hasPrevious, + hasNext: paging.hasNext, }); - }) - .finally(() => { + }) + .finally(() => { setFetching(false); - }); - }; - - function TablePaginationActions(props) { - const theme = useTheme(); - const filter = useContext(PaginationContext); - const { onPageChange } = props; - - const handleBackButtonClick = (event) => { - onPageChange(event, 'back'); - }; - - const handleNextButtonClick = (event) => { - onPageChange(event, 'next'); - }; - - const { hasPrevious, hasNext } = filter; - - return ( - - - {theme.direction === 'rtl' ? : } - - - {theme.direction === 'rtl' ? : } - - - ); - } - - const CustomPagination = () => { - return ( - - Rows per page:
} - rowsPerPage={filter.limit} - rowsPerPageOptions={[5, 10, 25, 50]} - getItemAriaLabel={(type) => ''} - labelDisplayedRows={() => ''} - onPageChange={(e, type) => { - const action = { - next: handlerNextPage, - back: handlerPriorPage - }; - action[type](); - }} - onRowsPerPageChange={(e) => { - setFetching(true); - - CaseService.filterCase(keycloak, caseDefId, status, { - limit: e.target.value - }) - .then((resp) => { - const { data, paging } = resp; - - setCases(data); - setFilter({ - ...filter, - limit: e.target.value, - cursors: paging.cursors, - hasPrevious: paging.hasPrevious, - hasNext: paging.hasNext - }); - }) - .finally(() => { - setFetching(false); - }); - }} - SelectProps={{ - inputProps: { - 'aria-label': 'rows per page' - }, - native: true - }} - ActionsComponent={TablePaginationActions} - /> - - ); - }; - - return ( -
- {caseDefId && ( -
- -
- )} - - {caseDefId && ( - - - - - - - - - )} - - - - {view === 'list' && ( -
- row.businessKey} - loading={fetching} - components={{ Pagination: CustomPagination }} - /> -
- )} - {view === 'kanban' && ( - - )} -
-
- -
- - {openCaseForm && ( - - )} - - {openNewCaseForm && ( - - )} - - {lastCreatedCase && ( - - )} -
+ }); + }} + SelectProps={{ + inputProps: { + 'aria-label': 'rows per page', + }, + native: true, + }} + ActionsComponent={TablePaginationActions} + /> + ); + }; + + return ( +
+ {caseDefId && ( +
+ +
+ )} + + {caseDefId && ( + + + + + + + + + )} + + + + {view === 'list' && ( +
+ row.businessKey} + loading={fetching} + components={{ Pagination: CustomPagination }} + /> +
+ )} + {view === 'kanban' && ( + + )} +
+
+ +
+ + {openCaseForm && ( + + )} + + {openNewCaseForm && ( + + )} + + {lastCreatedCase && ( + + )} +
+ ); }; function fetchCases( - setFetching, - keycloak, - caseDefId, - setStages, - status, - filter, - setCases, - setFilter + setFetching, + keycloak, + caseDefId, + setStages, + status, + filter, + setCases, + setFilter, ) { - setFetching(true); - - CaseService.getCaseDefinitionsById(keycloak, caseDefId) - .then((resp) => { - resp.stages.sort((a, b) => a.index - b.index).map((o) => o.name); - setStages(resp.stages); - return CaseService.filterCase(keycloak, caseDefId, status, filter); - }) - .then((resp) => { - const { data, paging } = resp; - setCases(data); - setFilter({ - ...filter, - cursors: paging.cursors, - hasPrevious: paging.hasPrevious, - hasNext: paging.hasNext - }); - }) - .finally(() => { - setFetching(false); - }); + setFetching(true); + + CaseService.getCaseDefinitionsById(keycloak, caseDefId) + .then((resp) => { + resp.stages.sort((a, b) => a.index - b.index).map((o) => o.name); + setStages(resp.stages); + return CaseService.filterCase(keycloak, caseDefId, status, filter); + }) + .then((resp) => { + const { data, paging } = resp; + setCases(data); + setFilter({ + ...filter, + cursors: paging.cursors, + hasPrevious: paging.hasPrevious, + hasNext: paging.hasNext, + }); + }) + .finally(() => { + setFetching(false); + }); } diff --git a/apps/react/case-portal/src/views/dashboard/IncomeAreaChart.js b/apps/react/case-portal/src/views/dashboard/IncomeAreaChart.js deleted file mode 100644 index b0780d61..00000000 --- a/apps/react/case-portal/src/views/dashboard/IncomeAreaChart.js +++ /dev/null @@ -1,136 +0,0 @@ -import PropTypes from 'prop-types'; -import { useState, useEffect } from 'react'; -import { useTheme } from '@mui/material/styles'; -import ReactApexChart from 'react-apexcharts'; - -// chart options -const areaChartOptions = { - chart: { - height: 450, - type: 'area', - toolbar: { - show: false - } - }, - dataLabels: { - enabled: false - }, - stroke: { - curve: 'smooth', - width: 2 - }, - grid: { - strokeDashArray: 0 - } -}; - -// ==============================|| INCOME AREA CHART ||============================== // - -const IncomeAreaChart = ({ slot }) => { - const theme = useTheme(); - - const { primary, secondary } = theme.palette.text; - const line = theme.palette.divider; - - const [options, setOptions] = useState(areaChartOptions); - - useEffect(() => { - setOptions((prevState) => ({ - ...prevState, - colors: [theme.palette.primary.main, theme.palette.primary[700]], - xaxis: { - categories: - slot === 'month' - ? [ - 'Jan', - 'Feb', - 'Mar', - 'Apr', - 'May', - 'Jun', - 'Jul', - 'Aug', - 'Sep', - 'Oct', - 'Nov', - 'Dec' - ] - : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], - labels: { - style: { - colors: [ - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary - ] - } - }, - axisBorder: { - show: true, - color: line - }, - tickAmount: slot === 'month' ? 11 : 7 - }, - yaxis: { - labels: { - style: { - colors: [secondary] - } - } - }, - grid: { - borderColor: line - }, - tooltip: { - theme: 'light' - } - })); - }, [primary, secondary, line, theme, slot]); - - const [series, setSeries] = useState([ - { - name: 'Page Views', - data: [0, 86, 28, 115, 48, 210, 136] - }, - { - name: 'Sessions', - data: [0, 43, 14, 56, 24, 105, 68] - } - ]); - - useEffect(() => { - setSeries([ - { - name: 'Page Views', - data: - slot === 'month' - ? [76, 85, 101, 98, 87, 105, 91, 114, 94, 86, 115, 35] - : [31, 40, 28, 51, 42, 109, 100] - }, - { - name: 'Sessions', - data: - slot === 'month' - ? [110, 60, 150, 35, 60, 36, 26, 45, 65, 52, 53, 41] - : [11, 32, 45, 32, 34, 52, 41] - } - ]); - }, [slot]); - - return ; -}; - -IncomeAreaChart.propTypes = { - slot: PropTypes.string -}; - -export default IncomeAreaChart; diff --git a/apps/react/case-portal/src/views/dashboard/MonthlyBarChart.js b/apps/react/case-portal/src/views/dashboard/MonthlyBarChart.js deleted file mode 100644 index 983ccd11..00000000 --- a/apps/react/case-portal/src/views/dashboard/MonthlyBarChart.js +++ /dev/null @@ -1,89 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useTheme } from '@mui/material/styles'; -import ReactApexChart from 'react-apexcharts'; - -// chart options -const barChartOptions = { - chart: { - type: 'bar', - height: 365, - toolbar: { - show: false - } - }, - plotOptions: { - bar: { - columnWidth: '45%', - borderRadius: 4 - } - }, - dataLabels: { - enabled: false - }, - xaxis: { - categories: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'], - axisBorder: { - show: false - }, - axisTicks: { - show: false - } - }, - yaxis: { - show: false - }, - grid: { - show: false - } -}; - -// ==============================|| MONTHLY BAR CHART ||============================== // - -const MonthlyBarChart = () => { - const theme = useTheme(); - - const { primary, secondary } = theme.palette.text; - const info = theme.palette.info.light; - - const [series] = useState([ - { - data: [80, 95, 70, 42, 65, 55, 78] - } - ]); - - const [options, setOptions] = useState(barChartOptions); - - useEffect(() => { - setOptions((prevState) => ({ - ...prevState, - colors: [info], - xaxis: { - labels: { - style: { - colors: [ - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary - ] - } - } - }, - tooltip: { - theme: 'light' - } - })); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [primary, info, secondary]); - - return ( -
- -
- ); -}; - -export default MonthlyBarChart; diff --git a/apps/react/case-portal/src/views/dashboard/OrdersTable.js b/apps/react/case-portal/src/views/dashboard/OrdersTable.js deleted file mode 100644 index 0b797f55..00000000 --- a/apps/react/case-portal/src/views/dashboard/OrdersTable.js +++ /dev/null @@ -1,228 +0,0 @@ -import PropTypes from 'prop-types'; -import { useState } from 'react'; -import { Link as RouterLink } from 'react-router-dom'; -import Box from '@mui/material/Box'; -import Link from '@mui/material/Link'; -import Stack from '@mui/material/Stack'; -import Table from '@mui/material/Table'; -import TableBody from '@mui/material/TableBody'; -import TableCell from '@mui/material/TableCell'; -import TableContainer from '@mui/material/TableContainer'; -import TableHead from '@mui/material/TableHead'; -import TableRow from '@mui/material/TableRow'; -import Typography from '@mui/material/Typography'; -import Dot from 'components/@extended/Dot'; - -function createData(trackingNo, name, fat, carbs, protein) { - return { trackingNo, name, fat, carbs, protein }; -} - -const rows = [ - createData(84564564, 'Camera Lens', 40, 2, 40570), - createData(98764564, 'Laptop', 300, 0, 180139), - createData(98756325, 'Mobile', 355, 1, 90989), - createData(98652366, 'Handset', 50, 1, 10239), - createData(13286564, 'Computer Accessories', 100, 1, 83348), - createData(86739658, 'TV', 99, 0, 410780), - createData(13256498, 'Keyboard', 125, 2, 70999), - createData(98753263, 'Mouse', 89, 2, 10570), - createData(98753275, 'Desktop', 185, 1, 98063), - createData(98753291, 'Chair', 100, 0, 14001) -]; - -function descendingComparator(a, b, orderBy) { - if (b[orderBy] < a[orderBy]) { - return -1; - } - if (b[orderBy] > a[orderBy]) { - return 1; - } - return 0; -} - -function getComparator(order, orderBy) { - return order === 'desc' - ? (a, b) => descendingComparator(a, b, orderBy) - : (a, b) => -descendingComparator(a, b, orderBy); -} - -function stableSort(array, comparator) { - const stabilizedThis = array.map((el, index) => [el, index]); - stabilizedThis.sort((a, b) => { - const order = comparator(a[0], b[0]); - if (order !== 0) { - return order; - } - return a[1] - b[1]; - }); - return stabilizedThis.map((el) => el[0]); -} - -// ==============================|| ORDER TABLE - HEADER CELL ||============================== // - -const headCells = [ - { - id: 'trackingNo', - align: 'left', - disablePadding: false, - label: 'Tracking No.' - }, - { - id: 'name', - align: 'left', - disablePadding: true, - label: 'Product Name' - }, - { - id: 'fat', - align: 'right', - disablePadding: false, - label: 'Total Order' - }, - { - id: 'carbs', - align: 'left', - disablePadding: false, - - label: 'Status' - }, - { - id: 'protein', - align: 'right', - disablePadding: false, - label: 'Total Amount' - } -]; - -// ==============================|| ORDER TABLE - HEADER ||============================== // - -function OrderTableHead({ order, orderBy }) { - return ( - - - {headCells.map((headCell) => ( - - {headCell.label} - - ))} - - - ); -} - -OrderTableHead.propTypes = { - order: PropTypes.string, - orderBy: PropTypes.string -}; - -// ==============================|| ORDER TABLE - STATUS ||============================== // - -const OrderStatus = ({ status }) => { - let color; - let title; - - switch (status) { - case 0: - color = 'warning'; - title = 'Pending'; - break; - case 1: - color = 'success'; - title = 'Approved'; - break; - case 2: - color = 'error'; - title = 'Rejected'; - break; - default: - color = 'primary'; - title = 'None'; - } - - return ( - - - {title} - - ); -}; - -OrderStatus.propTypes = { - status: PropTypes.number -}; - -// ==============================|| ORDER TABLE ||============================== // - -export default function OrderTable() { - const [order] = useState('asc'); - const [orderBy] = useState('trackingNo'); - const [selected] = useState([]); - - const isSelected = (trackingNo) => selected.indexOf(trackingNo) !== -1; - - return ( - - - - - - {stableSort(rows, getComparator(order, orderBy)).map((row, index) => { - const isItemSelected = isSelected(row.trackingNo); - const labelId = `enhanced-table-checkbox-${index}`; - - return ( - - - - {row.trackingNo} - - - {row.name} - {row.fat} - - - - - {/* */} - - - ); - })} - -
-
-
- ); -} diff --git a/apps/react/case-portal/src/views/dashboard/ReportAreaChart.js b/apps/react/case-portal/src/views/dashboard/ReportAreaChart.js deleted file mode 100644 index 2af3eb14..00000000 --- a/apps/react/case-portal/src/views/dashboard/ReportAreaChart.js +++ /dev/null @@ -1,110 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useTheme } from '@mui/material/styles'; -import ReactApexChart from 'react-apexcharts'; - -// chart options -const areaChartOptions = { - chart: { - height: 340, - type: 'line', - toolbar: { - show: false - } - }, - dataLabels: { - enabled: false - }, - stroke: { - curve: 'smooth', - width: 1.5 - }, - grid: { - strokeDashArray: 4 - }, - xaxis: { - type: 'datetime', - categories: [ - '2018-05-19T00:00:00.000Z', - '2018-06-19T00:00:00.000Z', - '2018-07-19T01:30:00.000Z', - '2018-08-19T02:30:00.000Z', - '2018-09-19T03:30:00.000Z', - '2018-10-19T04:30:00.000Z', - '2018-11-19T05:30:00.000Z', - '2018-12-19T06:30:00.000Z' - ], - labels: { - format: 'MMM' - }, - axisBorder: { - show: false - }, - axisTicks: { - show: false - } - }, - yaxis: { - show: false - }, - tooltip: { - x: { - format: 'MM' - } - } -}; - -// ==============================|| REPORT AREA CHART ||============================== // - -const ReportAreaChart = () => { - const theme = useTheme(); - - const { primary, secondary } = theme.palette.text; - const line = theme.palette.divider; - - const [options, setOptions] = useState(areaChartOptions); - - useEffect(() => { - setOptions((prevState) => ({ - ...prevState, - colors: [theme.palette.warning.main], - xaxis: { - labels: { - style: { - colors: [ - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary, - secondary - ] - } - } - }, - grid: { - borderColor: line - }, - tooltip: { - theme: 'light' - }, - legend: { - labels: { - colors: 'grey.500' - } - } - })); - }, [primary, secondary, line, theme]); - - const [series] = useState([ - { - name: 'Series 1', - data: [58, 115, 28, 83, 63, 75, 35, 55] - } - ]); - - return ; -}; - -export default ReportAreaChart; diff --git a/apps/react/case-portal/src/views/dashboard/SalesColumnChart.js b/apps/react/case-portal/src/views/dashboard/SalesColumnChart.js deleted file mode 100644 index f844c340..00000000 --- a/apps/react/case-portal/src/views/dashboard/SalesColumnChart.js +++ /dev/null @@ -1,144 +0,0 @@ -import { useEffect, useState } from 'react'; -import { useTheme } from '@mui/material/styles'; -import ReactApexChart from 'react-apexcharts'; - -// chart options -const columnChartOptions = { - chart: { - type: 'bar', - height: 430, - toolbar: { - show: false - } - }, - plotOptions: { - bar: { - columnWidth: '30%', - borderRadius: 4 - } - }, - dataLabels: { - enabled: false - }, - stroke: { - show: true, - width: 8, - colors: ['transparent'] - }, - xaxis: { - categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'] - }, - yaxis: { - title: { - text: '$ (thousands)' - } - }, - fill: { - opacity: 1 - }, - tooltip: { - y: { - formatter(val) { - return `$ ${val} thousands`; - } - } - }, - legend: { - show: true, - fontFamily: `'Public Sans', sans-serif`, - offsetX: 10, - offsetY: 10, - labels: { - useSeriesColors: false - }, - markers: { - width: 16, - height: 16, - radius: '50%', - offsexX: 2, - offsexY: 2 - }, - itemMargin: { - horizontal: 15, - vertical: 50 - } - }, - responsive: [ - { - breakpoint: 600, - options: { - yaxis: { - show: false - } - } - } - ] -}; - -// ==============================|| SALES COLUMN CHART ||============================== // - -const SalesColumnChart = () => { - const theme = useTheme(); - - const { primary, secondary } = theme.palette.text; - const line = theme.palette.divider; - - const warning = theme.palette.warning.main; - const primaryMain = theme.palette.primary.main; - const successDark = theme.palette.success.dark; - - const [series] = useState([ - { - name: 'Net Profit', - data: [180, 90, 135, 114, 120, 145] - }, - { - name: 'Revenue', - data: [120, 45, 78, 150, 168, 99] - } - ]); - - const [options, setOptions] = useState(columnChartOptions); - - useEffect(() => { - setOptions((prevState) => ({ - ...prevState, - colors: [warning, primaryMain], - xaxis: { - labels: { - style: { - colors: [secondary, secondary, secondary, secondary, secondary, secondary] - } - } - }, - yaxis: { - labels: { - style: { - colors: [secondary] - } - } - }, - grid: { - borderColor: line - }, - tooltip: { - theme: 'light' - }, - legend: { - position: 'top', - horizontalAlign: 'right', - labels: { - colors: 'grey.500' - } - } - })); - }, [primary, secondary, line, warning, primaryMain, successDark]); - - return ( -
- -
- ); -}; - -export default SalesColumnChart; diff --git a/apps/react/case-portal/src/views/dashboard/index.js b/apps/react/case-portal/src/views/dashboard/index.js index beb14de0..0e987f2f 100644 --- a/apps/react/case-portal/src/views/dashboard/index.js +++ b/apps/react/case-portal/src/views/dashboard/index.js @@ -1,42 +1,46 @@ import { Grid, Typography } from '@mui/material'; -import DashBoardCard from 'components/cards/DashboardCard'; -import { IconArchive, IconList, IconSquareAsterisk } from '@tabler/icons'; +import DashboardCard from 'components/cards/DashboardCard'; +import { IconArchive, IconList, IconSquareAsterisk } from '@tabler/icons-react'; import { useTranslation } from 'react-i18next'; const DashboardDefault = () => { - const { t } = useTranslation(); + const { t } = useTranslation(); - return ( - - {/* row 1 */} - - {t('pages.dashboard.title')} - - - } - to="/case-list/wip-cases" - /> - - - } - to="/case-list/cases" - /> - - - } - to="/task-list" - /> - + return ( + + {/* row 1 */} + + {t('pages.dashboard.title')} + + + } + to='/case-list/wip-cases' + /> + + + } + to='/case-list/cases' + /> + + + } + to='/task-list' + /> + - - - ); + + + ); }; export default DashboardDefault; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js index 6b390c11..f3b0a6c0 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefForm.js @@ -20,143 +20,147 @@ import { CaseKanbanForm } from './caseDefKanban'; import { CaseDefService } from 'services'; import { useSession } from 'SessionStoreContext'; - const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); function a11yProps(index) { - return { - id: `simple-tab-${index}`, - 'aria-controls': `simple-tabpanel-${index}` - }; + return { + id: `simple-tab-${index}`, + 'aria-controls': `simple-tabpanel-${index}`, + }; } function TabPanel(props) { - const { children, value, index, ...other } = props; - - return ( - - ); + const { children, value, index, ...other } = props; + + return ( + + ); } TabPanel.propTypes = { - children: PropTypes.node, - index: PropTypes.number.isRequired, - value: PropTypes.number.isRequired + children: PropTypes.node, + index: PropTypes.number.isRequired, + value: PropTypes.number.isRequired, }; export const CaseDefForm = ({ open, handleClose, caseDefParam }) => { - const [tabValue, setTabValue] = useState(0); - const [caseDef, setCaseDef] = useState(caseDefParam); - const keycloak = useSession(); - - useEffect(() => { - setCaseDef(caseDefParam); - }, [open, caseDefParam]); - - const handleTabChange = (event, newValue) => { - setTabValue(newValue); - }; - - const handleSave = () => { - if (caseDef.status && caseDef.status === 'new') { - CaseDefService.create(keycloak, caseDef) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - } else { - CaseDefService.update(keycloak, caseDef.id, caseDef) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - } - }; - - const handleDelete = () => { - CaseDefService.remove(keycloak, caseDef.id) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; - - return ( -
- - - - - - - -
{caseDef?.name}
-
- - {!(caseDef.status && caseDef.status === 'new') && ( - - )} -
-
- - - - - - - - - - - {/* General Tab */} - -
- - -
-
- - - - - - - - - - - - -
-
- ); + const [tabValue, setTabValue] = useState(0); + const [caseDef, setCaseDef] = useState(caseDefParam); + const keycloak = useSession(); + + useEffect(() => { + setCaseDef(caseDefParam); + }, [open, caseDefParam]); + + const handleTabChange = (event, newValue) => { + setTabValue(newValue); + }; + + const handleSave = () => { + if (caseDef.status && caseDef.status === 'new') { + CaseDefService.create(keycloak, caseDef) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + } else { + CaseDefService.update(keycloak, caseDef.id, caseDef) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + } + }; + + const handleDelete = () => { + CaseDefService.remove(keycloak, caseDef.id) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; + + return ( +
+ + + + + + + +
{caseDef?.name}
+
+ + {!(caseDef.status && caseDef.status === 'new') && ( + + )} +
+
+ + + + + + + + + + + {/* General Tab */} + +
+ + +
+
+ + + + + + + + + + + + +
+
+ ); }; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js index 0db3f2e1..0f5a776f 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormForm.js @@ -8,45 +8,45 @@ import { FormService } from 'services'; import { useSession } from 'SessionStoreContext'; export const CaseDefFormForm = ({ caseDef, setCaseDef }) => { - const [forms, setForms] = useState(); - const keycloak = useSession(); + const [forms, setForms] = useState(); + const keycloak = useSession(); - useEffect(() => { - FormService.getAll(keycloak) - .then((data) => { - setForms(data); - }) - .catch((err) => { - console.log(err.message); - }); - }, [caseDef]); + useEffect(() => { + FormService.getAll(keycloak) + .then((data) => { + setForms(data); + }) + .catch((err) => { + console.log(err.message); + }); + }, [caseDef]); - const handleFormChange = (event) => { - setCaseDef({ ...caseDef, formKey: event.target.value }); - }; + const handleFormChange = (event) => { + setCaseDef({ ...caseDef, formKey: event.target.value }); + }; - return ( - - {forms && ( - - Form - - - )} - - ); + return ( + + {forms && ( + + Form + + + )} + + ); }; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js index 56961fce..118bfadc 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefFormStages.js @@ -6,123 +6,138 @@ import Button from '@mui/material/Button'; import { CaseDefStageProcesses } from './caseDefStageProcesses'; export const CaseDefFormStages = ({ caseDef, setCaseDef }) => { - const [openProcessesList, setOpenProcessesList] = React.useState(false); - const [currentStage, setCurrentStage] = React.useState(null); + const [openProcessesList, setOpenProcessesList] = React.useState(false); + const [currentStage, setCurrentStage] = React.useState(null); - const [sortModel] = React.useState([ - { - field: 'index', - sort: 'asc' - } - ]); + const [sortModel] = React.useState([ + { + field: 'index', + sort: 'asc', + }, + ]); - const columns = [ - { - field: 'index', - headerName: 'Index', - width: 100, - sortable: false, - editable: true, - type: 'number' - }, - { field: 'name', headerName: 'Name', width: 220, sortable: false, editable: true }, - { - field: 'processes', - headerName: '', - sortable: false, - renderCell: (params) => { - return ( - - - - ); - } - }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onClick = (e) => { - const newCaseDefStages = caseDef.stages.filter(function (value, index, arr) { - return value.id !== params.row.id; - }); - setCaseDef({ ...caseDef, stages: newCaseDefStages }); - e.stopPropagation(); // don't select this row after clicking - }; + const columns = [ + { + field: 'index', + headerName: 'Index', + width: 100, + sortable: false, + editable: true, + type: 'number', + }, + { + field: 'name', + headerName: 'Name', + width: 220, + sortable: false, + editable: true, + }, + { + field: 'processes', + headerName: '', + sortable: false, + renderCell: (params) => { + return ( + + + + ); + }, + }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onClick = (e) => { + const newCaseDefStages = caseDef.stages.filter(function (value) { + return value.id !== params.row.id; + }); + setCaseDef({ ...caseDef, stages: newCaseDefStages }); + e.stopPropagation(); // don't select this row after clicking + }; - return ( - - - - ); - } - }, - ]; + return ( + + + + ); + }, + }, + ]; - const handleNewStage = () => { - const length = caseDef.stages.length; - const lastStage = caseDef.stages[length - 1]; - setCaseDef({ - ...caseDef, - stages: [ - ...caseDef.stages, - { - id: parseInt(lastStage.id) + 1, - index: lastStage.index + 1, - name: 'Stage ' + (parseInt(lastStage.id) + 1) - } - ] - }); - }; + const handleNewStage = () => { + const length = caseDef.stages.length; + const lastStage = caseDef.stages[length - 1]; + setCaseDef({ + ...caseDef, + stages: [ + ...caseDef.stages, + { + id: parseInt(lastStage.id) + 1, + index: lastStage.index + 1, + name: 'Stage ' + (parseInt(lastStage.id) + 1), + }, + ], + }); + }; - const processRowUpdate = (newRow) => { - let newCaseDefStages = [...caseDef.stages]; - newCaseDefStages[newRow.id] = newRow; - setCaseDef({ ...caseDef, stages: newCaseDefStages }); - return newRow; - }; + const processRowUpdate = (newRow) => { + let newCaseDefStages = [...caseDef.stages]; + newCaseDefStages[newRow.id] = newRow; + setCaseDef({ ...caseDef, stages: newCaseDefStages }); + return newRow; + }; - const openProcessesDialog = (stage) => { - setCurrentStage(stage); - setOpenProcessesList(true); - }; + const openProcessesDialog = (stage) => { + setCurrentStage(stage); + setOpenProcessesList(true); + }; - const closeProcessesDialog = () => { - setOpenProcessesList(false); - setCurrentStage(null); - }; + const closeProcessesDialog = () => { + setOpenProcessesList(false); + setCurrentStage(null); + }; - const updateProcesses = (stageId, processes) => { - let newStages = [...caseDef.stages]; - let stage = newStages.find(s => s.id === stageId); - stage.processesDefinitions = processes; - setCaseDef({ ...caseDef, stages: newStages }); - }; + const updateProcesses = (stageId, processes) => { + let newStages = [...caseDef.stages]; + let stage = newStages.find((s) => s.id === stageId); + stage.processesDefinitions = processes; + setCaseDef({ ...caseDef, stages: newStages }); + }; - return ( -
- + return ( +
+ - {caseDef.stages && ( - - - - - {currentStage && } - - )} -
- ); + {caseDef.stages && ( + + + + + {currentStage && ( + + )} + + )} +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js index 771d7e80..f38fa8fe 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefGeneralForm.js @@ -10,84 +10,99 @@ import React, { useEffect, useState } from 'react'; import { ProcessDefService } from 'services/ProcessDefService'; export const CaseDefGeneralForm = ({ caseDef, setCaseDef }) => { - const [processesDefinitions, setProcessesDefinitions] = useState(); - const keycloak = useSession(); + const [processesDefinitions, setProcessesDefinitions] = useState(); + const keycloak = useSession(); - useEffect(() => { - ProcessDefService.find(keycloak) - .then((data) => { - setProcessesDefinitions(data); - }) - .catch((err) => { - setProcessesDefinitions(null); - console.log(err.message); - }); - }, [caseDef]); + useEffect(() => { + ProcessDefService.find(keycloak) + .then((data) => { + setProcessesDefinitions(data); + }) + .catch((err) => { + setProcessesDefinitions(null); + console.log(err.message); + }); + }, [caseDef]); - const handleInputChange = (event) => { - setCaseDef({ ...caseDef, deployed: event.target.checked, [event.target.name]: event.target.value }); - }; + const handleInputChange = (event) => { + setCaseDef({ + ...caseDef, + deployed: event.target.checked, + [event.target.name]: event.target.value, + }); + }; - const handleDeployedChange = (event) => { - setCaseDef({ ...caseDef, deployed: event.target.checked }); - }; + const handleDeployedChange = (event) => { + setCaseDef({ ...caseDef, deployed: event.target.checked }); + }; - const handleProcessDefinitionChange = (event) => { - setCaseDef({ ...caseDef, stagesLifecycleProcessKey: event.target.value }); - }; + const handleProcessDefinitionChange = (event) => { + setCaseDef({ ...caseDef, stagesLifecycleProcessKey: event.target.value }); + }; - return ( - - - - + return ( + + + + - - - + + + - {processesDefinitions && ( - - Process Definition - - - )} + {processesDefinitions && ( + + Process Definition + + + )} - - } label="Deployed" id="txtDeployed" name="deployed" - onChange={handleDeployedChange} - /> - - - ); + + } + label='Deployed' + id='txtDeployed' + name='deployed' + onChange={handleDeployedChange} + /> + + + ); }; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js index 4a8bb99a..8d7371c8 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefKanban.js @@ -3,21 +3,37 @@ import TextField from '@mui/material/TextField'; import React from 'react'; export const CaseKanbanForm = ({ caseDef, setCaseDef }) => { + const handleInputChange = (event) => { + setCaseDef({ + ...caseDef, + kanbanConfig: { + ...caseDef.kanbanConfig, + [event.target.name]: event.target.value.split(','), + }, + }); + }; - const handleInputChange = (event) => { - setCaseDef({ ...caseDef, kanbanConfig: { ...caseDef.kanbanConfig, [event.target.name]: event.target.value.split(',') } }); - }; + return ( + + + + - return ( - - - - - - - - - - - ); + + + + + ); }; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js index 9f1d112c..533e1ef3 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/caseDefStageProcesses.js @@ -18,104 +18,144 @@ import { useSession } from 'SessionStoreContext'; import FormControl from '@mui/material/FormControl'; import InputLabel from '@mui/material/InputLabel'; -export const CaseDefStageProcesses = ({ open, handleClose, stage, updateProcesses }) => { - const keycloak = useSession(); - const [processes, setProcesses] = React.useState(stage.processesDefinitions || []); - const [newProcess, setNewProcess] = React.useState({ definitionKey: '', autoStart: false }); +export const CaseDefStageProcesses = ({ + open, + handleClose, + stage, + updateProcesses, +}) => { + const keycloak = useSession(); + const [processes, setProcesses] = React.useState( + stage.processesDefinitions || [], + ); + const [newProcess, setNewProcess] = React.useState({ + definitionKey: '', + autoStart: false, + }); - const [processesDefinitions, setProcessesDefinitions] = useState(); + const [processesDefinitions, setProcessesDefinitions] = useState(); - useEffect(() => { - ProcessDefService.find(keycloak) - .then((data) => { - setProcessesDefinitions(data); - }) - .catch((err) => { - setProcessesDefinitions(null); - console.log(err.message); - }); - }, [open]); + useEffect(() => { + ProcessDefService.find(keycloak) + .then((data) => { + setProcessesDefinitions(data); + }) + .catch((err) => { + setProcessesDefinitions(null); + console.log(err.message); + }); + }, [open]); - const handleAddProcess = () => { - if (newProcess.definitionKey) { - setProcesses([...processes, newProcess]); - setNewProcess({ definitionKey: '', autoStart: false }); - } - }; + const handleAddProcess = () => { + if (newProcess.definitionKey) { + setProcesses([...processes, newProcess]); + setNewProcess({ definitionKey: '', autoStart: false }); + } + }; - const handleDeleteProcess = (index) => { - const updatedProcesses = [...processes]; - updatedProcesses.splice(index, 1); - setProcesses(updatedProcesses); - }; + const handleDeleteProcess = (index) => { + const updatedProcesses = [...processes]; + updatedProcesses.splice(index, 1); + setProcesses(updatedProcesses); + }; - const handleSave = () => { - updateProcesses(stage.id, processes); - handleClose(); - }; + const handleSave = () => { + updateProcesses(stage.id, processes); + handleClose(); + }; - return ( - - Processes for {stage.name} - - - {processes.map((process, index) => ( - - - - handleDeleteProcess(index)} title="Delete Process"> - - - - - ))} - -
- {processesDefinitions && ( - - Process Definition - - - )} -
- setNewProcess({ ...newProcess, autoStart: e.target.checked })} - color="primary" - /> - Auto Start -
- +
+
+ + + + +
+ ); +}; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js index bc7e0177..7109fbbd 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerForm.js @@ -1,15 +1,15 @@ import { - Box, - Button, - Dialog, - DialogActions, - DialogContent, - DialogTitle, - FormControl, - InputLabel, - MenuItem, - Select, - TextField, + Box, + Button, + Dialog, + DialogActions, + DialogContent, + DialogTitle, + FormControl, + InputLabel, + MenuItem, + Select, + TextField, } from '@mui/material'; import React, { useEffect, useState } from 'react'; import { ProcessDefService } from 'services/ProcessDefService'; @@ -17,197 +17,214 @@ import { useSession } from 'SessionStoreContext'; import { QueueService } from 'services/QueueService'; const styles = { - dialogContent: { - display: 'flex', - flexDirection: 'column', - gap: '1rem', - }, - formControl: { - minWidth: '180px', - }, - typeSelect: { - minWidth: '180px', - }, - cancelButton: { - color: '#f44336', - }, - saveButton: { - color: '#4caf50', - }, + dialogContent: { + display: 'flex', + flexDirection: 'column', + gap: '1rem', + }, + formControl: { + minWidth: '180px', + }, + typeSelect: { + minWidth: '180px', + }, + cancelButton: { + color: '#f44336', + }, + saveButton: { + color: '#4caf50', + }, }; -export const CaseDefFormEventsForm = ({ open, onClose, onSubmit, hookData, stages }) => { - const keycloak = useSession(); - const [taskDefKey, setTaskDefKey] = useState(''); - const [processDefKey, setProcessDefKey] = useState(''); - const [eventType, setEventType] = useState(''); - const [actionType, setActionType] = useState(''); - const [newStage, setNewStage] = useState(''); - const [queueId, setQueueId] = useState(''); +export const CaseDefFormEventsForm = ({ + open, + onClose, + onSubmit, + hookData, + stages, +}) => { + const keycloak = useSession(); + const [taskDefKey, setTaskDefKey] = useState(''); + const [processDefKey, setProcessDefKey] = useState(''); + const [eventType, setEventType] = useState(''); + const [actionType, setActionType] = useState(''); + const [newStage, setNewStage] = useState(''); + const [queueId, setQueueId] = useState(''); - const [processesDefinitions, setProcessesDefinitions] = useState(); - const [queues, setQueues] = useState(); + const [processesDefinitions, setProcessesDefinitions] = useState(); + const [queues, setQueues] = useState(); - useEffect(() => { - ProcessDefService.find(keycloak) - .then((data) => { - setProcessesDefinitions(data); - }) - .catch((err) => { - setProcessesDefinitions(null); - console.log(err.message); - }); + useEffect(() => { + ProcessDefService.find(keycloak) + .then((data) => { + setProcessesDefinitions(data); + }) + .catch((err) => { + setProcessesDefinitions(null); + console.log(err.message); + }); - QueueService.find(keycloak) - .then((data) => { - setQueues(data); - }) - .catch((err) => { - setQueues(null); - console.log(err.message); - }); + QueueService.find(keycloak) + .then((data) => { + setQueues(data); + }) + .catch((err) => { + setQueues(null); + console.log(err.message); + }); - if (hookData) { - setTaskDefKey(hookData.taskDefKey || ''); - setProcessDefKey(hookData.processDefKey || ''); - setEventType(hookData.eventType || ''); - setActionType(hookData.actions[0]?.actionType || ''); - setNewStage(hookData.actions[0]?.newStage || ''); - setQueueId(hookData.actions[0]?.queueId || ''); - } else { - setTaskDefKey(''); - setProcessDefKey(''); - setEventType(''); - setActionType(''); - setNewStage(''); - setQueueId(''); - } - }, [hookData]); + if (hookData) { + setTaskDefKey(hookData.taskDefKey || ''); + setProcessDefKey(hookData.processDefKey || ''); + setEventType(hookData.eventType || ''); + setActionType(hookData.actions[0]?.actionType || ''); + setNewStage(hookData.actions[0]?.newStage || ''); + setQueueId(hookData.actions[0]?.queueId || ''); + } else { + setTaskDefKey(''); + setProcessDefKey(''); + setEventType(''); + setActionType(''); + setNewStage(''); + setQueueId(''); + } + }, [hookData]); - const handleSubmit = () => { - let actions = []; + const handleSubmit = () => { + let actions = []; - if (actionType === 'CASE_STAGE_UPDATE_ACTION') { - actions = [...actions, { actionType: actionType, newStage: newStage }]; - } else if (actionType === 'CASE_QUEUE_UPDATE_ACTION') { - actions = [...actions, { actionType: actionType, queueId: queueId }]; - } + if (actionType === 'CASE_STAGE_UPDATE_ACTION') { + actions = [...actions, { actionType: actionType, newStage: newStage }]; + } else if (actionType === 'CASE_QUEUE_UPDATE_ACTION') { + actions = [...actions, { actionType: actionType, queueId: queueId }]; + } - const newHook = { - eventType, - taskDefKey, - processDefKey, - actions, - }; - onSubmit(newHook); + const newHook = { + eventType, + taskDefKey, + processDefKey, + actions, }; + onSubmit(newHook); + }; - return ( - - {hookData ? 'Edit Listener' : 'Add New Listener'} - - - - Event Type - - - {eventType === 'TASK_COMPLETE_EVENT_TYPE' && ( - - - Process Definition Key - - - setTaskDefKey(e.target.value)} - variant="outlined" - InputLabelProps={{ shrink: true }} - /> - - )} - {eventType && ( - - Action Type - - - )} - {actionType === 'CASE_STAGE_UPDATE_ACTION' && ( - - New Stage - - - )} - {actionType === 'CASE_QUEUE_UPDATE_ACTION' && ( - - Queue - - - )} - - - - - - - - ); -}; \ No newline at end of file + return ( + + + {hookData ? 'Edit Listener' : 'Add New Listener'} + + + + + Event Type + + + {eventType === 'TASK_COMPLETE_EVENT_TYPE' && ( + + + Process Definition Key + + + setTaskDefKey(e.target.value)} + variant='outlined' + InputLabelProps={{ shrink: true }} + /> + + )} + {eventType && ( + + Action Type + + + )} + {actionType === 'CASE_STAGE_UPDATE_ACTION' && ( + + New Stage + + + )} + {actionType === 'CASE_QUEUE_UPDATE_ACTION' && ( + + Queue + + + )} + + + + + + + + ); +}; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js index 37dc32a0..56c12fbc 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefForm/listeners/caseDefFormListenerList.js @@ -1,171 +1,211 @@ import { - AddCircleOutline, - AssignmentTurnedIn, - DeleteOutline, - EditOutlined + AddCircleOutline, + AssignmentTurnedIn, + DeleteOutline, + EditOutlined, } from '@mui/icons-material'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; import { - Accordion, - AccordionDetails, - AccordionSummary, - Box, - Card, - CardActions, - CardContent, - CircularProgress, - Grid, - IconButton, - Typography + Accordion, + AccordionDetails, + AccordionSummary, + Box, + Card, + CardActions, + CardContent, + CircularProgress, + Grid, + IconButton, + Typography, } from '@mui/material'; import MainCard from 'components/MainCard'; import React, { useEffect, useState } from 'react'; import { CaseDefFormEventsForm } from './caseDefFormListenerForm'; export const CaseDefFormEvents = ({ caseDef, setCaseDef }) => { - const [isLoading, setIsLoading] = useState(false); - const [hooks, setHooks] = useState([]); - const [selectedHookIndex, setSelectedHookIndex] = useState(null); - - const [isHookFormOpen, setIsHookFormOpen] = useState(false); - - const addButtonStyle = { - position: 'fixed', - bottom: '20px', - right: '20px', - zIndex: 1000, - boxShadow: '0px 2px 5px rgba(0, 0, 0, 0.2)', - borderRadius: '50%', - background: '#fff', - }; - - useEffect(() => { - setIsLoading(true); - setHooks(caseDef.caseHooks); - setIsLoading(false); - }, [caseDef.caseHooks]); - - const handleAddHook = (event) => { - setCaseDef({ ...caseDef, caseHooks: [...caseDef.caseHooks, event] }); - closeHookForm(); - }; - - const handleReplaceHook = (event) => { - let hooksCopy = [...caseDef.caseHooks]; - hooksCopy[selectedHookIndex] = event - setCaseDef({ ...caseDef, caseHooks: hooksCopy }); - closeHookForm(); - }; - - const handleEditHook = (hookIndex) => { - setSelectedHookIndex(hookIndex); - setIsHookFormOpen(true); - }; - - const handleRemoveHook = (hookIndex) => { - setCaseDef({ ...caseDef, caseHooks: caseDef.caseHooks.filter((element, index) => index !== hookIndex) }); - closeHookForm(); - }; - - const formatActionList = (actions) => { - if (!actions.length) return ''; - - const actionList = actions.map((action) => { - if (action.actionType === 'CASE_STAGE_UPDATE_ACTION') { - return `Progress Case Stage to ${action.newStage}`; - } else if (action.actionType === 'CASE_QUEUE_UPDATE_ACTION') { - return `Update Case Queue to ${action.queueId}`; - } else { - return ''; - } - }); - - return actionList.join(' AND '); - }; - - const openHookForm = () => { - setSelectedHookIndex(null); // Reset the selected hook index when opening the form for adding - setIsHookFormOpen(true); - }; - - const closeHookForm = () => { - setIsHookFormOpen(false); - }; - - return ( - - - - {hooks ? ( - - {isLoading ? ( - - - - ) : hooks.length ? ( -
- - {hooks.map((hook, index) => ( - - - - {/* Displaying the "when-then" flow information */} - - When task {hook.taskDefKey} in process {hook.processDefKey} is completed - - - - }> - - - Then - - - - - {formatActionList(hook.actions).split(' AND ').map((action, index) => ( - - {index > 0 &&
AND
} - {action} -
- ))} -
-
-
- - handleEditHook(index)}> - - - handleRemoveHook(index)}> - - - -
-
- ))} -
-
- ) : ( - No listeners found for the selected action type. - )} -
- ) : ( - Select an action type to view associated listeners. - )} -
-
- - - - - - -
- ); + const [isLoading, setIsLoading] = useState(false); + const [hooks, setHooks] = useState([]); + const [selectedHookIndex, setSelectedHookIndex] = useState(null); + + const [isHookFormOpen, setIsHookFormOpen] = useState(false); + + const addButtonStyle = { + position: 'fixed', + bottom: '20px', + right: '20px', + zIndex: 1000, + boxShadow: '0px 2px 5px rgba(0, 0, 0, 0.2)', + borderRadius: '50%', + background: '#fff', + }; + + useEffect(() => { + setIsLoading(true); + setHooks(caseDef.caseHooks); + setIsLoading(false); + }, [caseDef.caseHooks]); + + const handleAddHook = (event) => { + setCaseDef({ ...caseDef, caseHooks: [...caseDef.caseHooks, event] }); + closeHookForm(); + }; + + const handleReplaceHook = (event) => { + let hooksCopy = [...caseDef.caseHooks]; + hooksCopy[selectedHookIndex] = event; + setCaseDef({ ...caseDef, caseHooks: hooksCopy }); + closeHookForm(); + }; + + const handleEditHook = (hookIndex) => { + setSelectedHookIndex(hookIndex); + setIsHookFormOpen(true); + }; + + const handleRemoveHook = (hookIndex) => { + setCaseDef({ + ...caseDef, + caseHooks: caseDef.caseHooks.filter( + (element, index) => index !== hookIndex, + ), + }); + closeHookForm(); + }; + + const formatActionList = (actions) => { + if (!actions.length) return ''; + + const actionList = actions.map((action) => { + if (action.actionType === 'CASE_STAGE_UPDATE_ACTION') { + return `Progress Case Stage to ${action.newStage}`; + } else if (action.actionType === 'CASE_QUEUE_UPDATE_ACTION') { + return `Update Case Queue to ${action.queueId}`; + } else { + return ''; + } + }); + + return actionList.join(' AND '); + }; + + const openHookForm = () => { + setSelectedHookIndex(null); // Reset the selected hook index when opening the form for adding + setIsHookFormOpen(true); + }; + + const closeHookForm = () => { + setIsHookFormOpen(false); + }; + + return ( + + + + {hooks ? ( + + {isLoading ? ( + + + + ) : hooks.length ? ( +
+ + {hooks.map((hook, index) => ( + + + + {/* Displaying the "when-then" flow information */} + + When task {hook.taskDefKey} in + process {hook.processDefKey} is + completed + + + + }> + + Then + + + + {formatActionList(hook.actions) + .split(' AND ') + .map((action, index) => ( + + {index > 0 && ( + + {' '} +
+ AND{' '} +
+ )} + {action} +
+ ))} +
+
+
+ + handleEditHook(index)} + > + + + handleRemoveHook(index)} + > + + + +
+
+ ))} +
+
+ ) : ( + + No listeners found for the selected action type. + + )} +
+ ) : ( + + Select an action type to view associated listeners. + + )} +
+
+ + + + + + +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js b/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js index 876bb043..c602bf8b 100644 --- a/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js +++ b/apps/react/case-portal/src/views/management/caseDef/caseDefList/caseDefList.js @@ -8,89 +8,89 @@ import { CaseDefService } from 'services'; import { useSession } from 'SessionStoreContext'; export const CaseDefList = () => { - const [caseDefs, setCaseDefs] = useState([]); - const [aCaseDef, setACaseDef] = useState(null); - const [openCaseDefForm, setOpenCaseDefForm] = useState(false); - const [fetching, setFetching] = useState(false); - const keycloak = useSession(); + const [caseDefs, setCaseDefs] = useState([]); + const [aCaseDef, setACaseDef] = useState(null); + const [openCaseDefForm, setOpenCaseDefForm] = useState(false); + const [fetching, setFetching] = useState(false); + const keycloak = useSession(); - useEffect(() => { - setFetching(true); + useEffect(() => { + setFetching(true); - CaseDefService.getAll(keycloak) - .then((data) => { - setCaseDefs(data); - }) - .finally(() => { - setFetching(false); - }); - }, [openCaseDefForm]); + CaseDefService.getAll(keycloak) + .then((data) => { + setCaseDefs(data); + }) + .finally(() => { + setFetching(false); + }); + }, [openCaseDefForm]); - const columns = [ - { field: 'id', headerName: 'Id', width: 300 }, - { field: 'name', headerName: 'Name', width: 220 }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onClick = (e) => { - setACaseDef(params.row); - e.stopPropagation(); // don't select this row after clicking - setOpenCaseDefForm(true); - }; + const columns = [ + { field: 'id', headerName: 'Id', width: 300 }, + { field: 'name', headerName: 'Name', width: 220 }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onClick = (e) => { + setACaseDef(params.row); + e.stopPropagation(); // don't select this row after clicking + setOpenCaseDefForm(true); + }; - return ( - - - - ); - } - } - ]; + return ( + + + + ); + }, + }, + ]; - const handleCloseCaseDefForm = () => { - setOpenCaseDefForm(false); - }; + const handleCloseCaseDefForm = () => { + setOpenCaseDefForm(false); + }; - const handleNewCaseDef = () => { - setACaseDef({ - status: 'new', - id: '', - name: '', - formKey: '', - stagesLifecycleProcessKey: '', - stages: [{ id: 0, index: 0, name: 'Stage 0' }], - taskCompleteHooks: [], - kanbanConfig: {} - }); - setOpenCaseDefForm(true); - }; + const handleNewCaseDef = () => { + setACaseDef({ + status: 'new', + id: '', + name: '', + formKey: '', + stagesLifecycleProcessKey: '', + stages: [{ id: 0, index: 0, name: 'Stage 0' }], + taskCompleteHooks: [], + kanbanConfig: {}, + }); + setOpenCaseDefForm(true); + }; - return ( -
- - - - - - - {aCaseDef && ( - - )} -
- ); + return ( +
+ + + + + + + {aCaseDef && ( + + )} +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/form/formDetail.js b/apps/react/case-portal/src/views/management/form/formDetail.js index 43e4795a..18b62716 100644 --- a/apps/react/case-portal/src/views/management/form/formDetail.js +++ b/apps/react/case-portal/src/views/management/form/formDetail.js @@ -21,122 +21,128 @@ import { useSession } from 'SessionStoreContext'; import { StorageService } from 'plugins/storage'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); -export const FormDetail = ({ open, handleClose, form, handleInputChange, handleSelectDisplay }) => { - const keycloak = useSession(); +export const FormDetail = ({ + open, + handleClose, + form, + handleInputChange, + handleSelectDisplay, +}) => { + const keycloak = useSession(); - const saveForm = () => { - FormService.update(keycloak, form.key, form) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; + const saveForm = () => { + FormService.update(keycloak, form.key, form) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; - const deleteForm = () => { - FormService.remove(keycloak, form.key) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; + const deleteForm = () => { + FormService.remove(keycloak, form.key) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; - return ( - form && ( - + + + - - - - - - -
{form?.title}
-
- - -
-
+ +
+ +
{form?.title}
+
+ + +
+
- - - - - - - - - - - - - - - Display - - - - - - + + + + + + + + + + + + + + + Display + + + + + + - - - - - -
- ) - ); + + + + + + + ) + ); }; diff --git a/apps/react/case-portal/src/views/management/form/formList.js b/apps/react/case-portal/src/views/management/form/formList.js index 00f6ef8e..8886df29 100644 --- a/apps/react/case-portal/src/views/management/form/formList.js +++ b/apps/react/case-portal/src/views/management/form/formList.js @@ -9,90 +9,90 @@ import { FormService } from 'services'; import { useSession } from 'SessionStoreContext'; export const FormList = () => { - const [forms, setForms] = useState([]); - const [openForm, setOpenForm] = useState(false); - const [openNewForm, setOpenNewForm] = useState(false); - const [form, setForm] = useState(null); - const keycloak = useSession(); + const [forms, setForms] = useState([]); + const [openForm, setOpenForm] = useState(false); + const [openNewForm, setOpenNewForm] = useState(false); + const [form, setForm] = useState(null); + const keycloak = useSession(); - useEffect(() => { - FormService.getAll(keycloak) - .then((data) => { - setForms(data); - }) - .catch((err) => { - console.log(err.message); - }); - }, [openForm, openNewForm]); + useEffect(() => { + FormService.getAll(keycloak) + .then((data) => { + setForms(data); + }) + .catch((err) => { + console.log(err.message); + }); + }, [openForm, openNewForm]); - const handleCloseForm = () => { - setOpenForm(false); - }; + const handleCloseForm = () => { + setOpenForm(false); + }; - const columns = [ - { field: 'key', headerName: 'Form Key', width: 300 }, - { field: 'title', headerName: 'Title', width: 300 }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onDetailsClick = (e) => { - setForm(params.row); - e.stopPropagation(); // don't select this row after clicking - setOpenForm(true); - }; + const columns = [ + { field: 'key', headerName: 'Form Key', width: 300 }, + { field: 'title', headerName: 'Title', width: 300 }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onDetailsClick = (e) => { + setForm(params.row); + e.stopPropagation(); // don't select this row after clicking + setOpenForm(true); + }; - return ; - } - } - ]; + return ; + }, + }, + ]; - const handleNewForm = () => { - setOpenNewForm(true); - }; + const handleNewForm = () => { + setOpenNewForm(true); + }; - const handleCloseNewForm = () => { - setOpenNewForm(false); - }; + const handleCloseNewForm = () => { + setOpenNewForm(false); + }; - const handleInputChange = (event) => { - setForm({ ...form, [event.target.name]: event.target.value }); - }; + const handleInputChange = (event) => { + setForm({ ...form, [event.target.name]: event.target.value }); + }; - const handleSelectDisplay = (event) => { - let structure = { ...form.structure }; - structure.display = event.target.value; - setForm({ ...form, structure: structure }); - }; + const handleSelectDisplay = (event) => { + let structure = { ...form.structure }; + structure.display = event.target.value; + setForm({ ...form, structure: structure }); + }; - return ( -
- - - - row.key} - /> - - - {form && ( - - )} - {} -
- ); + return ( +
+ + + + row.key} + /> + + + {form && ( + + )} + {} +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/form/formNew.js b/apps/react/case-portal/src/views/management/form/formNew.js index 33b5800d..6b7d9990 100644 --- a/apps/react/case-portal/src/views/management/form/formNew.js +++ b/apps/react/case-portal/src/views/management/form/formNew.js @@ -21,125 +21,129 @@ import { useSession } from 'SessionStoreContext'; import { StorageService } from 'plugins/storage'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); export const FormNew = ({ open, handleClose }) => { - const [form, setForm] = useState(null); - const keycloak = useSession(); + const [form, setForm] = useState(null); + const keycloak = useSession(); - useEffect(() => { - setForm({ key: '', description: '', structure: { components: [], display: 'form' } }); - }, [open]); + useEffect(() => { + setForm({ + key: '', + description: '', + structure: { components: [], display: 'form' }, + }); + }, [open]); - const saveNewForm = () => { - FormService.create(keycloak, form) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; + const saveNewForm = () => { + FormService.create(keycloak, form) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; - const handleInputChange = (event) => { - setForm({ ...form, [event.target.name]: event.target.value }); - }; + const handleInputChange = (event) => { + setForm({ ...form, [event.target.name]: event.target.value }); + }; - const handleSelectDisplay = (event) => { - let structure = { ...form.structure }; - structure.display = event.target.value; - setForm({ ...form, structure: structure }); - }; + const handleSelectDisplay = (event) => { + let structure = { ...form.structure }; + structure.display = event.target.value; + setForm({ ...form, structure: structure }); + }; - return ( - form && ( - + + + - - - - - - -
New Form
-
- -
-
+ +
+ +
New Form
+
+ +
+
- - - - - - - - - - - - - - - Display - - - - - - + + + + + + + + + + + + + + + Display + + + + + + - - - - - -
- ) - ); + + + + + + + ) + ); }; diff --git a/apps/react/case-portal/src/views/management/index.js b/apps/react/case-portal/src/views/management/index.js index 8dce0086..401132fc 100644 --- a/apps/react/case-portal/src/views/management/index.js +++ b/apps/react/case-portal/src/views/management/index.js @@ -1,57 +1,65 @@ import { Grid, Typography } from '@mui/material'; -import DashBoardCard from 'components/cards/DashboardCard'; -import { IconForms, IconPalette, IconPencil } from '@tabler/icons'; +import DashboardCard from 'components/cards/DashboardCard'; +import { IconForms, IconPalette, IconPencil } from '@tabler/icons-react'; const DashboardDefault = () => { - return ( - - - Case Life Cycle - + return ( + + + Case Life Cycle + - - } - to="/case-life-cycle/case-definition" - /> - - - } - to="/case-life-cycle/record-type" - /> - + + } + to='/case-life-cycle/case-definition' + /> + + + } + to='/case-life-cycle/record-type' + /> + - - } - to="/case-life-cycle/form" - /> - + + } + to='/case-life-cycle/form' + /> + - + - - System - - - } - to="/system/look-and-feel" - /> - + + System + + + } + to='/system/look-and-feel' + /> + - - - ); + + + ); }; export default DashboardDefault; diff --git a/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js b/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js index ed61613a..67e8c861 100644 --- a/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js +++ b/apps/react/case-portal/src/views/management/processDef/bpmnModeler.js @@ -11,183 +11,198 @@ import { ProcessDefService } from 'services/ProcessDefService'; import { DeploymentService } from 'services/DeploymentService'; import { - BpmnModeler as CamundaWebModeler, - isBpmnIoEvent, - isContentSavedEvent, - isNotificationEvent, - isPropertiesPanelResizedEvent, - isUIUpdateRequiredEvent -} from "@miragon/camunda-web-modeler"; + BpmnModeler as CamundaWebModeler, + isBpmnIoEvent, + isContentSavedEvent, + isNotificationEvent, + isPropertiesPanelResizedEvent, + isUIUpdateRequiredEvent, +} from '@miragon/camunda-web-modeler'; import newProcessXml from './new-process'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); export const BPMNModeler = ({ open, keycloak, processDef, handleClose }) => { - - const [bpmnXml, setBpmnXml] = useState(); - - useEffect(() => { - if (!processDef.id) { - setBpmnXml(newProcessXml); - } else { - ProcessDefService.getBPMNXml(keycloak, processDef.id) - .then((data) => { - setBpmnXml(data); - }) - .catch((err) => { - setBpmnXml(null); - console.log(err.message); - }); - } - }, [open]); - - const modelerRef = useRef(); - - const onXmlChanged = useCallback(( - newXml, - newSvg, - reason - ) => { - // console.log(`Model has been changed because of ${reason}`); - // Do whatever you want here, save the XML and SVG in the backend etc. - setBpmnXml(newXml); - }, []); - - const onSaveClicked = useCallback(async () => { - if (!modelerRef.current) { - // Should actually never happen, but required for type safety - return; - } - - // console.log("Saving model..."); - - const result = await modelerRef.current.save(); - DeploymentService.deploy(keycloak, result.xml).then(() => { - handleClose(); + const [bpmnXml, setBpmnXml] = useState(); + + useEffect(() => { + if (!processDef.id) { + setBpmnXml(newProcessXml); + } else { + ProcessDefService.getBPMNXml(keycloak, processDef.id) + .then((data) => { + setBpmnXml(data); + }) + .catch((err) => { + setBpmnXml(null); + console.log(err.message); }); - - // console.log("Saved model!", result.xml, result.svg); - }, []); - - const onEvent = useCallback(async (event) => { - if (isContentSavedEvent(event)) { - // Content has been saved, e.g. because user edited the model or because he switched - // from BPMN to XML. - onXmlChanged(event.data.xml, event.data.svg, event.data.reason); - return; - } - - if (isNotificationEvent(event)) { - // There's a notification the user is supposed to see, e.g. the model could not be - // imported because it was invalid. - return; - } - - if (isUIUpdateRequiredEvent(event)) { - // Something in the modeler has changed and the UI (e.g. menu) should be updated. - // This happens when the user selects an element, for example. - return; - } - - if (isPropertiesPanelResizedEvent(event)) { - // The user has resized the properties panel. You can save this value e.g. in local - // storage to restore it on next load and pass it as initializing option. - // console.log(`Properties panel has been resized to ${event.data.width}`); - return; - } - - if (isBpmnIoEvent(event)) { - // Just a regular bpmn-js event - actually lots of them - return; - } - - // eslint-disable-next-line no-console - // console.log("Unhandled event received", event); - }, [onXmlChanged]); - - /** - * ==== - * CAUTION: Using useMemo() is important to prevent additional render cycles! - * ==== - */ - - const xmlTabOptions = useMemo(() => ({ - className: undefined, - disabled: true, - monacoOptions: undefined - }), []); - - const propertiesPanelOptions = useMemo(() => ({ - className: undefined, - containerId: undefined, - container: undefined, - elementTemplates: undefined, - hidden: undefined, - size: { - max: undefined, - min: undefined, - initial: undefined - } - }), []); - - const modelerOptions = useMemo(() => ({ - className: undefined, - refs: [modelerRef], - container: undefined, - containerId: undefined, - size: { - max: undefined, - min: undefined, - initial: undefined - } - }), []); - - const bpmnJsOptions = useMemo(() => undefined, []); - - const modelerTabOptions = useMemo(() => ({ - className: undefined, - disabled: undefined, - bpmnJsOptions: bpmnJsOptions, - modelerOptions: modelerOptions, - propertiesPanelOptions: propertiesPanelOptions - }), [bpmnJsOptions, modelerOptions, propertiesPanelOptions]); - - - return ( -
- - - - - - - -
{processDef.name}
-
- -
-
- -
- -
- -
+ } + }, [open]); + + const modelerRef = useRef(); + + const onXmlChanged = useCallback((newXml) => { + // console.log(`Model has been changed because of ${reason}`); + // Do whatever you want here, save the XML and SVG in the backend etc. + setBpmnXml(newXml); + }, []); + + const onSaveClicked = useCallback(async () => { + if (!modelerRef.current) { + // Should actually never happen, but required for type safety + return; + } + + // console.log("Saving model..."); + + const result = await modelerRef.current.save(); + DeploymentService.deploy(keycloak, result.xml).then(() => { + handleClose(); + }); + + // console.log("Saved model!", result.xml, result.svg); + }, []); + + const onEvent = useCallback( + async (event) => { + if (isContentSavedEvent(event)) { + // Content has been saved, e.g. because user edited the model or because he switched + // from BPMN to XML. + onXmlChanged(event.data.xml, event.data.svg, event.data.reason); + return; + } + + if (isNotificationEvent(event)) { + // There's a notification the user is supposed to see, e.g. the model could not be + // imported because it was invalid. + return; + } + + if (isUIUpdateRequiredEvent(event)) { + // Something in the modeler has changed and the UI (e.g. menu) should be updated. + // This happens when the user selects an element, for example. + return; + } + + if (isPropertiesPanelResizedEvent(event)) { + // The user has resized the properties panel. You can save this value e.g. in local + // storage to restore it on next load and pass it as initializing option. + // console.log(`Properties panel has been resized to ${event.data.width}`); + return; + } + + if (isBpmnIoEvent(event)) { + // Just a regular bpmn-js event - actually lots of them + return; + } + + // console.log("Unhandled event received", event); + }, + [onXmlChanged], + ); + + /** + * ==== + * CAUTION: Using useMemo() is important to prevent additional render cycles! + * ==== + */ + + const xmlTabOptions = useMemo( + () => ({ + className: undefined, + disabled: true, + monacoOptions: undefined, + }), + [], + ); + + const propertiesPanelOptions = useMemo( + () => ({ + className: undefined, + containerId: undefined, + container: undefined, + elementTemplates: undefined, + hidden: undefined, + size: { + max: undefined, + min: undefined, + initial: undefined, + }, + }), + [], + ); + + const modelerOptions = useMemo( + () => ({ + className: undefined, + refs: [modelerRef], + container: undefined, + containerId: undefined, + size: { + max: undefined, + min: undefined, + initial: undefined, + }, + }), + [], + ); + + const bpmnJsOptions = useMemo(() => undefined, []); + + const modelerTabOptions = useMemo( + () => ({ + className: undefined, + disabled: undefined, + bpmnJsOptions: bpmnJsOptions, + modelerOptions: modelerOptions, + propertiesPanelOptions: propertiesPanelOptions, + }), + [bpmnJsOptions, modelerOptions, propertiesPanelOptions], + ); + + return ( +
+ + + + + + + +
{processDef.name}
+
+ +
+
+ +
+
- ); +
+
+ ); }; diff --git a/apps/react/case-portal/src/views/management/processDef/new-process.js b/apps/react/case-portal/src/views/management/processDef/new-process.js index a375588b..2b3b375c 100644 --- a/apps/react/case-portal/src/views/management/processDef/new-process.js +++ b/apps/react/case-portal/src/views/management/processDef/new-process.js @@ -1,2 +1,3 @@ -const xml = '' -export default xml ; +const xml = + ''; +export default xml; diff --git a/apps/react/case-portal/src/views/management/processDef/processDefList.js b/apps/react/case-portal/src/views/management/processDef/processDefList.js index c4075dd1..ff6c515a 100644 --- a/apps/react/case-portal/src/views/management/processDef/processDefList.js +++ b/apps/react/case-portal/src/views/management/processDef/processDefList.js @@ -8,83 +8,91 @@ import { ProcessDefService } from 'services/ProcessDefService'; import { BPMNModeler } from './bpmnModeler'; export const ProcessDefList = () => { - const [processDefs, setProcessDefs] = useState([]); - const [processDef, setProcessDef] = useState(null); - const [openBPMNModeler, setOpenBPMNModeler] = useState(false); - const [fetching, setFetching] = useState(false); - const keycloak = useSession(); + const [processDefs, setProcessDefs] = useState([]); + const [processDef, setProcessDef] = useState(null); + const [openBPMNModeler, setOpenBPMNModeler] = useState(false); + const [fetching, setFetching] = useState(false); + const keycloak = useSession(); - useEffect(() => { - setFetching(true); + useEffect(() => { + setFetching(true); - ProcessDefService.find(keycloak) - .then((data) => { - setProcessDefs(data); - }) - .finally(() => { - setFetching(false); - }); - }, [openBPMNModeler]); + ProcessDefService.find(keycloak) + .then((data) => { + setProcessDefs(data); + }) + .finally(() => { + setFetching(false); + }); + }, [openBPMNModeler]); - const columns = [ - { field: 'id', headerName: 'Id', width: 300 }, - { field: 'key', headerName: 'Key', width: 300 }, - { field: 'name', headerName: 'Name', width: 220 }, - { field: 'version', headerName: 'Version', width: 220 }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onClick = (e) => { - setProcessDef(params.row); - e.stopPropagation(); // don't select this row after clicking - setOpenBPMNModeler(true); - }; + const columns = [ + { field: 'id', headerName: 'Id', width: 300 }, + { field: 'key', headerName: 'Key', width: 300 }, + { field: 'name', headerName: 'Name', width: 220 }, + { field: 'version', headerName: 'Version', width: 220 }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onClick = (e) => { + setProcessDef(params.row); + e.stopPropagation(); // don't select this row after clicking + setOpenBPMNModeler(true); + }; - return ( - - - - ); - } - } - ]; + return ( + + + + ); + }, + }, + ]; - const handleCloseBPMNModeler = () => { - setOpenBPMNModeler(false); - }; + const handleCloseBPMNModeler = () => { + setOpenBPMNModeler(false); + }; - const handleNewProcessDef = () => { - setProcessDef({ - id: '', - name: '', - key: '' - }); - setOpenBPMNModeler(true); - }; + const handleNewProcessDef = () => { + setProcessDef({ + id: '', + name: '', + key: '', + }); + setOpenBPMNModeler(true); + }; - return ( -
- - - - - - - {processDef && ( - - )} -
- ); + return ( +
+ + + + + + + {processDef && ( + + )} +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/queue/queueForm.js b/apps/react/case-portal/src/views/management/queue/queueForm.js index 1dad780b..4b28eebe 100644 --- a/apps/react/case-portal/src/views/management/queue/queueForm.js +++ b/apps/react/case-portal/src/views/management/queue/queueForm.js @@ -14,103 +14,102 @@ import React from 'react'; import { QueueService } from 'services/QueueService'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); export const QueueForm = ({ open, handleClose, queue, handleInputChange }) => { - const keycloak = useSession(); + const keycloak = useSession(); - const save = () => { - if (queue.mode && queue.mode === 'new') { - QueueService.save(keycloak, queue) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - } else { - QueueService.update(keycloak, queue.id, queue) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - } - }; + const save = () => { + if (queue.mode && queue.mode === 'new') { + QueueService.save(keycloak, queue) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + } else { + QueueService.update(keycloak, queue.id, queue) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + } + }; - const deleteQueue = () => { - QueueService.remove(keycloak, queue.id) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; + const deleteQueue = () => { + QueueService.remove(keycloak, queue.id) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; - return ( - queue && ( - + + + - - - - - - -
{queue?.id}
-
- - -
-
+ +
+ +
{queue?.id}
+
+ + +
+
- - - - - + + + + + - - - + + + - - - - - - -
- ) - ); + + + + + + + ) + ); }; diff --git a/apps/react/case-portal/src/views/management/queue/queueList.js b/apps/react/case-portal/src/views/management/queue/queueList.js index 906473b4..c326d497 100644 --- a/apps/react/case-portal/src/views/management/queue/queueList.js +++ b/apps/react/case-portal/src/views/management/queue/queueList.js @@ -8,78 +8,82 @@ import { QueueService } from 'services/QueueService'; import { QueueForm } from './queueForm'; export const QueueList = () => { - const [queues, setQueues] = useState([]); - const [openForm, setOpenForm] = useState(false); - const [queue, setQueue] = useState(null); - const keycloak = useSession(); + const [queues, setQueues] = useState([]); + const [openForm, setOpenForm] = useState(false); + const [queue, setQueue] = useState(null); + const keycloak = useSession(); - useEffect(() => { - QueueService.find(keycloak) - .then((data) => { - setQueues(data); - }) - .catch((err) => { - console.log(err.message); - }); - }, [openForm]); + useEffect(() => { + QueueService.find(keycloak) + .then((data) => { + setQueues(data); + }) + .catch((err) => { + console.log(err.message); + }); + }, [openForm]); - const handleCloseForm = () => { - setOpenForm(false); - }; + const handleCloseForm = () => { + setOpenForm(false); + }; - const columns = [ - { field: 'id', headerName: 'Id', width: 300 }, - { field: 'name', headerName: 'Name', width: 300 }, - { field: 'description', headerName: 'Description', width: 300 }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onDetailsClick = (e) => { - setQueue(params.row); - e.stopPropagation(); // don't select this row after clicking - setOpenForm(true); - }; + const columns = [ + { field: 'id', headerName: 'Id', width: 300 }, + { field: 'name', headerName: 'Name', width: 300 }, + { field: 'description', headerName: 'Description', width: 300 }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onDetailsClick = (e) => { + setQueue(params.row); + e.stopPropagation(); // don't select this row after clicking + setOpenForm(true); + }; - return ; - } - } - ]; + return ; + }, + }, + ]; - const handleInputChange = (event) => { - setQueue({ ...queue, [event.target.name]: event.target.value }); - }; + const handleInputChange = (event) => { + setQueue({ ...queue, [event.target.name]: event.target.value }); + }; - const handleNew = () => { - setQueue({ id: '', fields: { components: [], display: 'form' }, mode: 'new' }); - setOpenForm(true); - }; + const handleNew = () => { + setQueue({ + id: '', + fields: { components: [], display: 'form' }, + mode: 'new', + }); + setOpenForm(true); + }; - return ( -
- - - - - - - {queue && ( - - )} -
- ); + return ( +
+ + + + + + + {queue && ( + + )} +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js b/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js index 6e40e70d..e40024fd 100644 --- a/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js +++ b/apps/react/case-portal/src/views/management/recordType/recordTypeForm.js @@ -17,97 +17,102 @@ import { useSession } from 'SessionStoreContext'; import { StorageService } from 'plugins/storage'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); -export const RecordTypeForm = ({ open, handleClose, recordType, handleInputChange }) => { - const keycloak = useSession(); +export const RecordTypeForm = ({ + open, + handleClose, + recordType, + handleInputChange, +}) => { + const keycloak = useSession(); - const save = () => { - if (recordType.mode && recordType.mode === 'new') { - RecordTypeService.create(keycloak, recordType) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - } else { - RecordTypeService.update(keycloak, recordType.id, recordType) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - } - }; + const save = () => { + if (recordType.mode && recordType.mode === 'new') { + RecordTypeService.create(keycloak, recordType) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + } else { + RecordTypeService.update(keycloak, recordType.id, recordType) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + } + }; - const deleteRecordType = () => { - RecordTypeService.remove(keycloak, recordType.id) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; + const deleteRecordType = () => { + RecordTypeService.remove(keycloak, recordType.id) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; - return ( - recordType && ( - + + + - - - - - - -
{recordType?.id}
-
- - -
-
+ +
+ +
{recordType?.id}
+
+ + +
+
- - - - - - - - - + + + + + + + + + - - - - - -
- ) - ); + + + + + + + ) + ); }; diff --git a/apps/react/case-portal/src/views/management/recordType/recordTypeList.js b/apps/react/case-portal/src/views/management/recordType/recordTypeList.js index c1db42b4..3bee44dd 100644 --- a/apps/react/case-portal/src/views/management/recordType/recordTypeList.js +++ b/apps/react/case-portal/src/views/management/recordType/recordTypeList.js @@ -8,76 +8,80 @@ import { RecordTypeService } from 'services'; import { useSession } from 'SessionStoreContext'; export const RecordTypeList = () => { - const [recordTypes, setRecordTypes] = useState([]); - const [openForm, setOpenForm] = useState(false); - const [recordType, setRecordType] = useState(null); - const keycloak = useSession(); + const [recordTypes, setRecordTypes] = useState([]); + const [openForm, setOpenForm] = useState(false); + const [recordType, setRecordType] = useState(null); + const keycloak = useSession(); - useEffect(() => { - RecordTypeService.getAll(keycloak) - .then((data) => { - setRecordTypes(data); - }) - .catch((err) => { - console.log(err.message); - }); - }, [openForm]); + useEffect(() => { + RecordTypeService.getAll(keycloak) + .then((data) => { + setRecordTypes(data); + }) + .catch((err) => { + console.log(err.message); + }); + }, [openForm]); - const handleCloseForm = () => { - setOpenForm(false); - }; + const handleCloseForm = () => { + setOpenForm(false); + }; - const columns = [ - { field: 'id', headerName: 'Id', width: 300 }, - { - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onDetailsClick = (e) => { - setRecordType(params.row); - e.stopPropagation(); // don't select this row after clicking - setOpenForm(true); - }; + const columns = [ + { field: 'id', headerName: 'Id', width: 300 }, + { + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onDetailsClick = (e) => { + setRecordType(params.row); + e.stopPropagation(); // don't select this row after clicking + setOpenForm(true); + }; - return ; - } - } - ]; + return ; + }, + }, + ]; - const handleInputChange = (event) => { - setRecordType({ ...recordType, [event.target.name]: event.target.value }); - }; + const handleInputChange = (event) => { + setRecordType({ ...recordType, [event.target.name]: event.target.value }); + }; - const handleNew = () => { - setRecordType({ id: '', fields: { components: [], display: 'form' }, mode: 'new' }); - setOpenForm(true); - }; + const handleNew = () => { + setRecordType({ + id: '', + fields: { components: [], display: 'form' }, + mode: 'new', + }); + setOpenForm(true); + }; - return ( -
- - - - - - - {recordType && ( - - )} -
- ); + return ( +
+ + + + + + + {recordType && ( + + )} +
+ ); }; diff --git a/apps/react/case-portal/src/views/management/utilities/Color.js b/apps/react/case-portal/src/views/management/utilities/Color.js index 91da4455..c0868228 100644 --- a/apps/react/case-portal/src/views/management/utilities/Color.js +++ b/apps/react/case-portal/src/views/management/utilities/Color.js @@ -11,338 +11,340 @@ import { gridSpacing } from 'store/constant'; // ===============================|| COLOR BOX ||=============================== // const ColorBox = ({ bgcolor, title, data, dark }) => ( - <> - - - {title && ( - - {title} - - )} - {!title && } - - - {data && ( - - - {data.label} - - - - {data.color} - - - + <> + + + {title && ( + + {title} + )} - + {!title && } + + + {data && ( + + + {data.label} + + + + {data.color} + + + + )} + ); ColorBox.propTypes = { - bgcolor: PropTypes.string, - title: PropTypes.string, - data: PropTypes.object.isRequired, - dark: PropTypes.bool + bgcolor: PropTypes.string, + title: PropTypes.string, + data: PropTypes.object.isRequired, + dark: PropTypes.bool, }; // ===============================|| UI COLOR ||=============================== // const UIColor = () => ( - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + } + > + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); export default UIColor; diff --git a/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js b/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js index 440f8ef9..2261c063 100644 --- a/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js +++ b/apps/react/case-portal/src/views/management/utilities/MaterialIcons.js @@ -5,26 +5,26 @@ import SecondaryAction from 'ui-component/cards/CardSecondaryAction'; // styles const IFrameWrapper = styled('iframe')(({ theme }) => ({ - height: 'calc(100vh - 210px)', - border: '1px solid', - borderColor: theme.palette.primary.light + height: 'calc(100vh - 210px)', + border: '1px solid', + borderColor: theme.palette.primary.light, })); const MaterialIcons = () => ( - - } - > - - - - + + } + > + + + + ); export default MaterialIcons; diff --git a/apps/react/case-portal/src/views/management/utilities/Shadow.js b/apps/react/case-portal/src/views/management/utilities/Shadow.js index 8581c334..44dd2583 100644 --- a/apps/react/case-portal/src/views/management/utilities/Shadow.js +++ b/apps/react/case-portal/src/views/management/utilities/Shadow.js @@ -8,117 +8,119 @@ import SecondaryAction from 'ui-component/cards/CardSecondaryAction'; import { gridSpacing } from 'store/constant'; const ShadowBox = ({ shadow }) => ( - - - boxShadow: {shadow} - - + + + boxShadow: {shadow} + + ); ShadowBox.propTypes = { - shadow: PropTypes.string.isRequired + shadow: PropTypes.string.isRequired, }; // ============================|| UTILITIES SHADOW ||============================ // const UtilitiesShadow = () => ( - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + } + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); export default UtilitiesShadow; diff --git a/apps/react/case-portal/src/views/management/utilities/TablerIcons.js b/apps/react/case-portal/src/views/management/utilities/TablerIcons.js index 9b51b469..52ea67af 100644 --- a/apps/react/case-portal/src/views/management/utilities/TablerIcons.js +++ b/apps/react/case-portal/src/views/management/utilities/TablerIcons.js @@ -6,22 +6,29 @@ import LinkIcon from '@mui/icons-material/Link'; // styles const IFrameWrapper = styled('iframe')(({ theme }) => ({ - height: 'calc(100vh - 210px)', - border: '1px solid', - borderColor: theme.palette.primary.light + height: 'calc(100vh - 210px)', + border: '1px solid', + borderColor: theme.palette.primary.light, })); const TablerIcons = () => ( - } link="https://tablericons.com/" /> - } - > - - - - + } + link='https://tablericons.com/' + /> + } + > + + + + ); export default TablerIcons; diff --git a/apps/react/case-portal/src/views/management/utilities/Typography.js b/apps/react/case-portal/src/views/management/utilities/Typography.js index 4535727e..79a5e758 100644 --- a/apps/react/case-portal/src/views/management/utilities/Typography.js +++ b/apps/react/case-portal/src/views/management/utilities/Typography.js @@ -8,124 +8,126 @@ import { gridSpacing } from 'store/constant'; // ==============================|| TYPOGRAPHY ||============================== // const Typography = () => ( - } - > - - - - - - - h1. Heading - - - - - h2. Heading - - - - - h3. Heading - - - - - h4. Heading - - - - - h5. Heading - - - - - h6. Heading - - - - + + } + > + + + + + + + h1. Heading + - - - - - - subtitle1. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur - - - - - subtitle2. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur - - - - + + + h2. Heading + - - - - - - body1. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur unde suscipit, quam beatae rerum inventore - consectetur, neque doloribus, cupiditate numquam dignissimos laborum - fugiat deleniti? Eum quasi quidem quibusdam. - - - - - body2. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur unde suscipit, quam beatae rerum inventore - consectetur, neque doloribus, cupiditate numquam dignissimos laborum - fugiat deleniti? Eum quasi quidem quibusdam. - - - - + + + h3. Heading + - - - - - - button text - - - - - caption text - - - - - overline text - - - - - https:// - - - - + + + h4. Heading + - - + + + h5. Heading + + + + + h6. Heading + + + + + + + + + + + subtitle1. Lorem ipsum dolor sit connecter adieu siccing eliot. + Quos blanditiis tenetur + + + + + subtitle2. Lorem ipsum dolor sit connecter adieu siccing eliot. + Quos blanditiis tenetur + + + + + + + + + + + body1. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos + blanditiis tenetur unde suscipit, quam beatae rerum inventore + consectetur, neque doloribus, cupiditate numquam dignissimos + laborum fugiat deleniti? Eum quasi quidem quibusdam. + + + + + body2. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos + blanditiis tenetur unde suscipit, quam beatae rerum inventore + consectetur, neque doloribus, cupiditate numquam dignissimos + laborum fugiat deleniti? Eum quasi quidem quibusdam. + + + + + + + + + + + button text + + + + + caption text + + + + + overline text + + + + + https:// + + + + + + + ); export default Typography; diff --git a/apps/react/case-portal/src/views/record/recordForm.js b/apps/react/case-portal/src/views/record/recordForm.js index dcb21c3b..90c30a47 100644 --- a/apps/react/case-portal/src/views/record/recordForm.js +++ b/apps/react/case-portal/src/views/record/recordForm.js @@ -16,102 +16,110 @@ import { useSession } from 'SessionStoreContext'; import { StorageService } from 'plugins/storage'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); export const RecordForm = ({ open, recordType, record, handleClose, mode }) => { - const [form, setForm] = useState(null); - const [formData, setFormData] = useState(null); - const keycloak = useSession(); + const [form, setForm] = useState(null); + const [formData, setFormData] = useState(null); + const keycloak = useSession(); - useEffect(() => { - setForm(recordType.fields); - setFormData({ - data: record, - metadata: {}, - isValid: true - }); - // eslint-disable-next-line - }, [record]); + useEffect(() => { + setForm(recordType.fields); + setFormData({ + data: record, + metadata: {}, + isValid: true, + }); + }, [record]); - const save = () => { - if (mode === 'new') { - RecordService.createRecord(keycloak, recordType.id, formData.data) - .then(() => { - handleClose(); - }) - .catch((err) => { - console.log(err.message); - }); - } else { - RecordService.updateRecord(keycloak, recordType.id, record._id.$oid, formData.data) - .then(() => { - handleClose(); - }) - .catch((err) => { - console.log(err.message); - }); - } - }; + const save = () => { + if (mode === 'new') { + RecordService.createRecord(keycloak, recordType.id, formData.data) + .then(() => { + handleClose(); + }) + .catch((err) => { + console.log(err.message); + }); + } else { + RecordService.updateRecord( + keycloak, + recordType.id, + record._id.$oid, + formData.data, + ) + .then(() => { + handleClose(); + }) + .catch((err) => { + console.log(err.message); + }); + } + }; - const deleteRecord = () => { - RecordService.deleteRecord(recordType.id, record._id.$oid) - .then(() => { - handleClose(); - }) - .catch((err) => { - console.log(err.message); - }); - }; + const deleteRecord = () => { + RecordService.deleteRecord(recordType.id, record._id.$oid) + .then(() => { + handleClose(); + }) + .catch((err) => { + console.log(err.message); + }); + }; - return ( - form && - formData && ( - + + + - - - - - - -
{recordType.id}
-
- - {!(mode && mode === 'new') && ( - - )} -
-
+ +
+ +
{recordType.id}
+
+ + {!(mode && mode === 'new') && ( + + )} +
+
- - - - - - - -
- ) - ); + + + + + + + + + ) + ); }; diff --git a/apps/react/case-portal/src/views/record/recordList.js b/apps/react/case-portal/src/views/record/recordList.js index cbb49d9a..6ae0338a 100644 --- a/apps/react/case-portal/src/views/record/recordList.js +++ b/apps/react/case-portal/src/views/record/recordList.js @@ -9,100 +9,100 @@ import { RecordService } from '../../services'; import { useSession } from 'SessionStoreContext'; export const RecordList = ({ recordTypeId }) => { - const [records, setRecords] = useState([]); - const [record, setRecord] = useState(null); - const [recordType, setRecordType] = useState([]); - const [openForm, setOpenForm] = useState(false); - const [columns, setColumns] = useState([]); - const [mode, setMode] = useState('new'); - const { t } = useTranslation(); - const keycloak = useSession(); + const [records, setRecords] = useState([]); + const [record, setRecord] = useState(null); + const [recordType, setRecordType] = useState([]); + const [openForm, setOpenForm] = useState(false); + const [columns, setColumns] = useState([]); + const [mode, setMode] = useState('new'); + const { t } = useTranslation(); + const keycloak = useSession(); - useEffect(() => { - RecordService.getRecordTypeById(keycloak, recordTypeId) - .then((data) => { - let dynamicColumns = []; + useEffect(() => { + RecordService.getRecordTypeById(keycloak, recordTypeId) + .then((data) => { + let dynamicColumns = []; - data.fields.components - .filter((element) => element.input === true) - .forEach((element) => { - const key = element.key; - const label = element.label; + data.fields.components + .filter((element) => element.input === true) + .forEach((element) => { + const key = element.key; + const label = element.label; - dynamicColumns.push({ field: key, headerName: label, width: 100 }); - }); + dynamicColumns.push({ field: key, headerName: label, width: 100 }); + }); - dynamicColumns.push({ - field: 'action', - headerName: '', - sortable: false, - renderCell: (params) => { - const onDetailsClick = (e) => { - setRecord(params.row); - e.stopPropagation(); // don't select this row after clicking - setMode('update'); - setOpenForm(true); - }; + dynamicColumns.push({ + field: 'action', + headerName: '', + sortable: false, + renderCell: (params) => { + const onDetailsClick = (e) => { + setRecord(params.row); + e.stopPropagation(); // don't select this row after clicking + setMode('update'); + setOpenForm(true); + }; - return ( - - ); - } - }); - setColumns(dynamicColumns); - setRecordType(data); - }) - .catch((err) => { - console.log(err.message); - }); + return ( + + ); + }, + }); + setColumns(dynamicColumns); + setRecordType(data); + }) + .catch((err) => { + console.log(err.message); + }); - RecordService.getRecordById(keycloak, recordTypeId) - .then((data) => { - setRecords(data); - }) - .catch((err) => { - console.log(err.message); - }); - }, [recordTypeId, openForm]); + RecordService.getRecordById(keycloak, recordTypeId) + .then((data) => { + setRecords(data); + }) + .catch((err) => { + console.log(err.message); + }); + }, [recordTypeId, openForm]); - const handleCloseForm = () => { - setOpenForm(false); - }; + const handleCloseForm = () => { + setOpenForm(false); + }; - const handleNew = () => { - setMode('new'); - setRecord({}); - setOpenForm(true); - }; + const handleNew = () => { + setMode('new'); + setRecord({}); + setOpenForm(true); + }; - return ( -
- - - - row._id.$oid} - /> - - - {record && recordType && ( - - )} -
- ); + return ( +
+ + + + row._id.$oid} + /> + + + {record && recordType && ( + + )} +
+ ); }; diff --git a/apps/react/case-portal/src/views/taskForm/taskForm.js b/apps/react/case-portal/src/views/taskForm/taskForm.js index 92b6c2ba..5b4776c9 100644 --- a/apps/react/case-portal/src/views/taskForm/taskForm.js +++ b/apps/react/case-portal/src/views/taskForm/taskForm.js @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import { Form } from '@formio/react'; import CloseIcon from '@mui/icons-material/Close'; import AppBar from '@mui/material/AppBar'; import Box from '@mui/material/Box'; @@ -7,172 +7,185 @@ import Dialog from '@mui/material/Dialog'; import IconButton from '@mui/material/IconButton'; import Slide from '@mui/material/Slide'; import Toolbar from '@mui/material/Toolbar'; -import MainCard from 'components/MainCard'; import Typography from '@mui/material/Typography'; -import { ProcessDiagram } from 'views/bpmnViewer/ProcessDiagram'; -import { Form } from '@formio/react'; +import MainCard from 'components/MainCard'; +import { StorageService } from 'plugins/storage'; +import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { FormService, TaskService, VariableService } from 'services'; +import { ProcessDiagram } from 'views/bpmnViewer/ProcessDiagram'; import { useSession } from '../../SessionStoreContext'; -import { StorageService } from 'plugins/storage'; const Transition = React.forwardRef(function Transition(props, ref) { - return ; + return ; }); export const TaskForm = ({ open, handleClose, task }) => { - const [claimed, setClaimed] = useState(false); - const [assignee, setAssignee] = useState(null); - const [formComponents, setFormComponents] = useState(null); - const [variableValues, setVariableValues] = useState(null); - const [activityInstances, setActivityInstances] = useState(null); - const { t } = useTranslation(); - const keycloak = useSession(); - - useEffect(() => { - let apiDataVariables = {}; - let apiDataFormComponents = {}; - - FormService.getByKey(keycloak, task.formKey) - .then((data) => { - apiDataFormComponents = data.structure; - - apiDataVariables = { - data: {}, - metadata: {}, - isValid: true - }; - - return VariableService.getByProcessInstanceId(keycloak, task.processInstanceId); - }) - .then((data) => { - data.forEach((item) => { - if (item.type === 'Json') { - apiDataVariables.data[item.name] = JSON.parse(item.value); - } else { - apiDataVariables.data[item.name] = item.value; - } - }); - - setFormComponents(apiDataFormComponents); - setVariableValues(apiDataVariables); - setClaimed(task.assignee !== null && task.assignee !== undefined); - setAssignee(task.assignee); - }) - .catch((err) => { - console.log(err.message); - }); - - TaskService.getActivityInstancesById(keycloak, task.processInstanceId).then((data) => { - setActivityInstances(data); - }); - }, [open, task]); - - const handleClaim = function () { - TaskService.claim(keycloak, task.id) - .then(() => { - setClaimed(true); - setAssignee(keycloak.idTokenParsed.given_name); - }) - .catch((err) => { - console.log(err.message); - }); - }; - - const handleUnclaim = function () { - TaskService.unclaim(keycloak, task.id) - .then(() => { - setClaimed(false); - setAssignee(null); - }) - .catch((err) => { - console.log(err.message); - }); - }; - - const handleComplete = function () { - let variables = { ...variableValues.data }; - - let variablesList = []; - - Object.keys(variables).forEach(function (key, index) { - let variable = { - name: key, - value: - typeof variables[key] === 'object' - ? JSON.stringify(variables[key]) - : variables[key], - type: typeof variables[key] === 'object' ? 'Json' : typeof variables[key] - }; - variablesList.push(variable); + const [claimed, setClaimed] = useState(false); + const [assignee, setAssignee] = useState(null); + const [formComponents, setFormComponents] = useState(null); + const [variableValues, setVariableValues] = useState(null); + const [activityInstances, setActivityInstances] = useState(null); + const { t } = useTranslation(); + const keycloak = useSession(); + + useEffect(() => { + let apiDataVariables = {}; + let apiDataFormComponents = {}; + + FormService.getByKey(keycloak, task.formKey) + .then((data) => { + apiDataFormComponents = data.structure; + + apiDataVariables = { + data: {}, + metadata: {}, + isValid: true, + }; + + return VariableService.getByProcessInstanceId( + keycloak, + task.processInstanceId, + ); + }) + .then((data) => { + data.forEach((item) => { + if (item.type === 'Json') { + apiDataVariables.data[item.name] = JSON.parse(item.value); + } else { + apiDataVariables.data[item.name] = item.value; + } }); - TaskService.complete(keycloak, task.id, variablesList) - .then(() => handleClose()) - .catch((err) => { - console.log(err.message); - }); - }; - - return ( -
- - - - - - - -
{task?.name}
-
{task?.caseInstanceId}
-
{task?.id}
-
- {!claimed ? ( - - ) : ( - - )} - {claimed && ( - - )} -
-
-
-
- -
+ setFormComponents(apiDataFormComponents); + setVariableValues(apiDataVariables); + setClaimed(task.assignee !== null && task.assignee !== undefined); + setAssignee(task.assignee); + }) + .catch((err) => { + console.log(err.message); + }); + + TaskService.getActivityInstancesById(keycloak, task.processInstanceId).then( + (data) => { + setActivityInstances(data); + }, + ); + }, [open, task]); + + const handleClaim = function () { + TaskService.claim(keycloak, task.id) + .then(() => { + setClaimed(true); + setAssignee(keycloak.idTokenParsed.given_name); + }) + .catch((err) => { + console.log(err.message); + }); + }; + + const handleUnclaim = function () { + TaskService.unclaim(keycloak, task.id) + .then(() => { + setClaimed(false); + setAssignee(null); + }) + .catch((err) => { + console.log(err.message); + }); + }; + + const handleComplete = function () { + let variables = { ...variableValues.data }; + + let variablesList = []; + + Object.keys(variables).forEach(function (key) { + let variable = { + name: key, + value: + typeof variables[key] === 'object' + ? JSON.stringify(variables[key]) + : variables[key], + type: + typeof variables[key] === 'object' ? 'Json' : typeof variables[key], + }; + variablesList.push(variable); + }); + + TaskService.complete(keycloak, task.id, variablesList) + .then(() => handleClose()) + .catch((err) => { + console.log(err.message); + }); + }; + + return ( +
+ + + + + + + +
{task?.name}
+
{task?.caseInstanceId}
+
{task?.id}
+
+ {!claimed ? ( + + ) : ( +
+ + )} + {claimed && ( + + )} + + +
+
+ +
- ); + + + + {task && activityInstances && ( + + )} + + +
+
+ ); }; diff --git a/apps/react/case-portal/src/views/taskList/taskList.js b/apps/react/case-portal/src/views/taskList/taskList.js index 63b94a05..28a33fb4 100644 --- a/apps/react/case-portal/src/views/taskList/taskList.js +++ b/apps/react/case-portal/src/views/taskList/taskList.js @@ -2,7 +2,10 @@ import { AddCircleOutline, PlayCircle } from '@mui/icons-material'; import { Box } from '@mui/material'; import Button from '@mui/material/Button'; import List from '@mui/material/List'; -import { default as IconButton, default as ListItem } from '@mui/material/ListItem'; +import { + default as IconButton, + default as ListItem, +} from '@mui/material/ListItem'; import { default as ListItemSecondaryAction } from '@mui/material/ListItemIcon'; import ListSubheader from '@mui/material/ListSubheader'; import Modal from '@mui/material/Modal'; @@ -18,228 +21,236 @@ import { TaskForm } from '../taskForm/taskForm'; import './taskList.css'; export const TaskList = ({ businessKey, callback }) => { - const [tasks, setTasks] = useState(null); - const [open, setOpen] = useState(false); - const [task, setTask] = useState(null); - const { t } = useTranslation(); - const [fetching, setFetching] = useState(false); - const keycloak = useSession(); + const [tasks, setTasks] = useState(null); + const [open, setOpen] = useState(false); + const [task, setTask] = useState(null); + const { t } = useTranslation(); + const [fetching, setFetching] = useState(false); + const keycloak = useSession(); - const [isModalOpen, setModalOpen] = useState(false); - const [newTaskData, setNewTaskData] = useState({ - name: '', - description: '', - due: null, - assignee: '', - caseInstanceId: businessKey - }); + const [isModalOpen, setModalOpen] = useState(false); + const [newTaskData, setNewTaskData] = useState({ + name: '', + description: '', + due: null, + assignee: '', + caseInstanceId: businessKey, + }); - useEffect(() => { - if (Config.WebsocketsEnabled) { - const websocketUrl = Config.WebsocketUrl; - const topic = Config.WebsocketsTopicHumanTaskCreated; - const ws = new WebSocket(`${websocketUrl}/${topic}`); - ws.onmessage = (event) => { - fetchTasks(setFetching, keycloak, businessKey, setTasks); - }; - return () => { - ws.close(); // Close WebSocket connection when component unmounts - }; - } - }, []); + useEffect(() => { + if (Config.WebsocketsEnabled) { + const websocketUrl = Config.WebsocketUrl; + const topic = Config.WebsocketsTopicHumanTaskCreated; + const ws = new WebSocket(`${websocketUrl}/${topic}`); + ws.onmessage = () => { + fetchTasks(setFetching, keycloak, businessKey, setTasks); + }; + return () => { + ws.close(); // Close WebSocket connection when component unmounts + }; + } + }, []); - const handleNewTaskSubmit = () => { - // Perform any necessary validation on the new task data - // ... - TaskService.createNewTask(keycloak, newTaskData).then(() => { - fetchTasks(setFetching, keycloak, businessKey, setTasks); - }); + const handleNewTaskSubmit = () => { + // Perform any necessary validation on the new task data + // ... + TaskService.createNewTask(keycloak, newTaskData).then(() => { + fetchTasks(setFetching, keycloak, businessKey, setTasks); + }); - // Reset the new task form - setNewTaskData({ - name: '', - description: '', - due: null, - assignee: '', - caseInstanceId: businessKey - }); + // Reset the new task form + setNewTaskData({ + name: '', + description: '', + due: null, + assignee: '', + caseInstanceId: businessKey, + }); - // Close the modal - setModalOpen(false); - }; + // Close the modal + setModalOpen(false); + }; - useEffect(() => { - fetchTasks(setFetching, keycloak, businessKey, setTasks); - }, [open, businessKey]); + useEffect(() => { + fetchTasks(setFetching, keycloak, businessKey, setTasks); + }, [open, businessKey]); - const handleClose = () => { - setOpen(false); - callback(); - }; + const handleClose = () => { + setOpen(false); + callback(); + }; - return ( + return ( + + {fetching && Loading...} + + {tasks && tasks.length > 0 && ( - {fetching && Loading...} - - {tasks && tasks.length > 0 && ( - - - {t('pages.tasklist.upcoming')} - - } - > - {tasks.map((task) => ( - - - {task.name} - {task.assignee && ( - - {t('pages.tasklist.datagrid.columns.assignee')}:{' '} - {task.assignee} - - )} - {task.created && ( - - {t('pages.tasklist.datagrid.columns.created')}:{' '} - {task.created} - - )} - {task.due && ( - - {t('pages.tasklist.datagrid.columns.due')}: {task.due} - - )} - {task.followUp && ( - - {t('pages.tasklist.datagrid.columns.followup')}:{' '} - {task.followUp} - - )} - - - { - setTask(task); - setOpen(true); - }} - > - - - - - ))} - - - setModalOpen(false)}> - - - {t('pages.caseform.actions.newTask')} - - - - setNewTaskData({ ...newTaskData, name: e.target.value }) - } - /> - - setNewTaskData({ - ...newTaskData, - description: e.target.value - }) - } - /> - {/* + + + setNewTaskData({ ...newTaskData, name: e.target.value }) + } + /> + + setNewTaskData({ + ...newTaskData, + description: e.target.value, + }) + } + /> + {/* setNewTaskData({ ...newTaskData, due: e.target.value }) } /> */} - - setNewTaskData({ - ...newTaskData, - assignee: e.target.value - }) - } - /> - - - - - - )} - - {open && task && ( - - )} + + setNewTaskData({ + ...newTaskData, + assignee: e.target.value, + }) + } + /> + + + + - ); + )} + + {open && task && ( + + )} + + ); }; function fetchTasks(setFetching, keycloak, businessKey, setTasks) { - setFetching(true); + setFetching(true); - TaskService.filterTasks(keycloak, businessKey) - .then((data) => { - setTasks( - data?.map( - (o) => - (o = { - ...o, - created: o.created && format(new Date(o.created), 'P'), - due: o.due && format(new Date(o.due), 'P'), - followUp: o.followUp && format(new Date(o.followUp), 'P') - }) - ) - ); - }) - .finally(() => { - setFetching(false); - }); + TaskService.filterTasks(keycloak, businessKey) + .then((data) => { + setTasks( + data?.map( + (o) => + (o = { + ...o, + created: o.created && format(new Date(o.created), 'P'), + due: o.due && format(new Date(o.due), 'P'), + followUp: o.followUp && format(new Date(o.followUp), 'P'), + }), + ), + ); + }) + .finally(() => { + setFetching(false); + }); } diff --git a/apps/react/case-portal/src/views/utilities/Color.js b/apps/react/case-portal/src/views/utilities/Color.js index 91da4455..c0868228 100644 --- a/apps/react/case-portal/src/views/utilities/Color.js +++ b/apps/react/case-portal/src/views/utilities/Color.js @@ -11,338 +11,340 @@ import { gridSpacing } from 'store/constant'; // ===============================|| COLOR BOX ||=============================== // const ColorBox = ({ bgcolor, title, data, dark }) => ( - <> - - - {title && ( - - {title} - - )} - {!title && } - - - {data && ( - - - {data.label} - - - - {data.color} - - - + <> + + + {title && ( + + {title} + )} - + {!title && } + + + {data && ( + + + {data.label} + + + + {data.color} + + + + )} + ); ColorBox.propTypes = { - bgcolor: PropTypes.string, - title: PropTypes.string, - data: PropTypes.object.isRequired, - dark: PropTypes.bool + bgcolor: PropTypes.string, + title: PropTypes.string, + data: PropTypes.object.isRequired, + dark: PropTypes.bool, }; // ===============================|| UI COLOR ||=============================== // const UIColor = () => ( - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + } + > + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ); export default UIColor; diff --git a/apps/react/case-portal/src/views/utilities/MaterialIcons.js b/apps/react/case-portal/src/views/utilities/MaterialIcons.js index 440f8ef9..2261c063 100644 --- a/apps/react/case-portal/src/views/utilities/MaterialIcons.js +++ b/apps/react/case-portal/src/views/utilities/MaterialIcons.js @@ -5,26 +5,26 @@ import SecondaryAction from 'ui-component/cards/CardSecondaryAction'; // styles const IFrameWrapper = styled('iframe')(({ theme }) => ({ - height: 'calc(100vh - 210px)', - border: '1px solid', - borderColor: theme.palette.primary.light + height: 'calc(100vh - 210px)', + border: '1px solid', + borderColor: theme.palette.primary.light, })); const MaterialIcons = () => ( - - } - > - - - - + + } + > + + + + ); export default MaterialIcons; diff --git a/apps/react/case-portal/src/views/utilities/Shadow.js b/apps/react/case-portal/src/views/utilities/Shadow.js deleted file mode 100644 index 8581c334..00000000 --- a/apps/react/case-portal/src/views/utilities/Shadow.js +++ /dev/null @@ -1,124 +0,0 @@ -import PropTypes from 'prop-types'; -import Box from '@mui/material/Box'; -import Card from '@mui/material/Card'; -import Grid from '@mui/material/Grid'; -import SubCard from 'ui-component/cards/SubCard'; -import MainCard from 'ui-component/cards/MainCard'; -import SecondaryAction from 'ui-component/cards/CardSecondaryAction'; -import { gridSpacing } from 'store/constant'; - -const ShadowBox = ({ shadow }) => ( - - - boxShadow: {shadow} - - -); - -ShadowBox.propTypes = { - shadow: PropTypes.string.isRequired -}; - -// ============================|| UTILITIES SHADOW ||============================ // - -const UtilitiesShadow = () => ( - } - > - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default UtilitiesShadow; diff --git a/apps/react/case-portal/src/views/utilities/TablerIcons.js b/apps/react/case-portal/src/views/utilities/TablerIcons.js index 9b51b469..52ea67af 100644 --- a/apps/react/case-portal/src/views/utilities/TablerIcons.js +++ b/apps/react/case-portal/src/views/utilities/TablerIcons.js @@ -6,22 +6,29 @@ import LinkIcon from '@mui/icons-material/Link'; // styles const IFrameWrapper = styled('iframe')(({ theme }) => ({ - height: 'calc(100vh - 210px)', - border: '1px solid', - borderColor: theme.palette.primary.light + height: 'calc(100vh - 210px)', + border: '1px solid', + borderColor: theme.palette.primary.light, })); const TablerIcons = () => ( - } link="https://tablericons.com/" /> - } - > - - - - + } + link='https://tablericons.com/' + /> + } + > + + + + ); export default TablerIcons; diff --git a/apps/react/case-portal/src/views/utilities/Typography.js b/apps/react/case-portal/src/views/utilities/Typography.js index 309d2488..4fea6129 100644 --- a/apps/react/case-portal/src/views/utilities/Typography.js +++ b/apps/react/case-portal/src/views/utilities/Typography.js @@ -9,124 +9,126 @@ import { gridSpacing } from 'store/constant'; // ==============================|| TYPOGRAPHY ||============================== // const Typography = () => ( - } - > - - - - - - - h1. Heading - - - - - h2. Heading - - - - - h3. Heading - - - - - h4. Heading - - - - - h5. Heading - - - - - h6. Heading - - - - + + } + > + + + + + + + h1. Heading + - - - - - - subtitle1. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur - - - - - subtitle2. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur - - - - + + + h2. Heading + - - - - - - body1. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur unde suscipit, quam beatae rerum inventore - consectetur, neque doloribus, cupiditate numquam dignissimos laborum - fugiat deleniti? Eum quasi quidem quibusdam. - - - - - body2. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos - blanditiis tenetur unde suscipit, quam beatae rerum inventore - consectetur, neque doloribus, cupiditate numquam dignissimos laborum - fugiat deleniti? Eum quasi quidem quibusdam. - - - - + + + h3. Heading + - - - - - - button text - - - - - caption text - - - - - overline text - - - - - https:// - - - - + + + h4. Heading + - - + + + h5. Heading + + + + + h6. Heading + + + + + + + + + + + subtitle1. Lorem ipsum dolor sit connecter adieu siccing eliot. + Quos blanditiis tenetur + + + + + subtitle2. Lorem ipsum dolor sit connecter adieu siccing eliot. + Quos blanditiis tenetur + + + + + + + + + + + body1. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos + blanditiis tenetur unde suscipit, quam beatae rerum inventore + consectetur, neque doloribus, cupiditate numquam dignissimos + laborum fugiat deleniti? Eum quasi quidem quibusdam. + + + + + body2. Lorem ipsum dolor sit connecter adieu siccing eliot. Quos + blanditiis tenetur unde suscipit, quam beatae rerum inventore + consectetur, neque doloribus, cupiditate numquam dignissimos + laborum fugiat deleniti? Eum quasi quidem quibusdam. + + + + + + + + + + + button text + + + + + caption text + + + + + overline text + + + + + https:// + + + + + + + ); export default Typography; diff --git a/apps/react/case-portal/webpack.config.js b/apps/react/case-portal/webpack.config.js new file mode 100644 index 00000000..eb5ddef8 --- /dev/null +++ b/apps/react/case-portal/webpack.config.js @@ -0,0 +1,70 @@ +/*eslint-disable no-undef*/ +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); +const Dotenv = require('dotenv-webpack'); + +/*eslint-disable no-undef*/ +module.exports = { + entry: './src/index.js', + resolve: { + modules: [path.resolve(__dirname, 'src'), 'node_modules'], + preferRelative: true, + }, + output: { + path: path.resolve(__dirname, 'dist'), + filename: 'bundle.js', + publicPath: '/', + }, + module: { + rules: [ + { + test: /\.(js|jsx)$/, + include: path.resolve(__dirname, 'src'), + use: { + loader: 'babel-loader', + options: { + presets: [ + '@babel/preset-env', + ['@babel/preset-react', { runtime: 'automatic' }], + ], + }, + }, + }, + { + test: /\.css$/, + use: ['style-loader', 'css-loader'], + }, + { + test: /\.(png|svg|jpg|gif|svg)$/, + use: ['file-loader'], + }, + { + test: /\.(woff(2)?|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/, + use: ['file-loader'], + }, + { + test: /favicon\.ico$/, + use: [ + { + loader: 'file-loader', + options: { + name: '[name].[ext]', + }, + }, + ], + }, + ], + }, + plugins: [ + new HtmlWebpackPlugin({ + template: './public/index.html', + }), + new Dotenv({ systemvars: true }), + ], + devServer: { + static: path.join(__dirname, 'public'), + port: 3001, + historyApiFallback: true, + }, + devtool: 'source-map', +}; diff --git a/apps/react/case-portal/yarn.lock b/apps/react/case-portal/yarn.lock index 76b5246c..0248fa44 100644 --- a/apps/react/case-portal/yarn.lock +++ b/apps/react/case-portal/yarn.lock @@ -7,16 +7,6 @@ resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@adobe/css-tools@^4.0.1": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" - integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== - -"@alloc/quick-lru@^5.2.0": - version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" - integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== - "@ampproject/remapping@^2.2.0": version "2.3.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" @@ -25,40 +15,30 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@ant-design/colors@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" - integrity sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ== +"@ant-design/colors@^7.0.0": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-7.0.2.tgz#c5c753a467ce8d86ba7ca4736d2c01f599bb5492" + integrity sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg== dependencies: - "@ctrl/tinycolor" "^3.4.0" + "@ctrl/tinycolor" "^3.6.1" -"@ant-design/icons-svg@^4.3.0": +"@ant-design/icons-svg@^4.4.0": version "4.4.2" resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz#ed2be7fb4d82ac7e1d45a54a5b06d6cecf8be6f6" integrity sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA== -"@ant-design/icons@^4.0.0-rc.0": - version "4.8.3" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-4.8.3.tgz#41555408ed5e9b0c3d53f3f24fe6a73abfcf4000" - integrity sha512-HGlIQZzrEbAhpJR6+IGdzfbPym94Owr6JZkJ2QCCnOkPVIWMO2xgIVcOKnl8YcpijIo39V7l2qQL5fmtw56cMw== +"@ant-design/icons@^5.3.6": + version "5.3.6" + resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-5.3.6.tgz#172bbcfcfa39f9a1d9ef73ad5cf98c6184fb83f8" + integrity sha512-JeWsgNjvkTTC73YDPgWOgdScRku/iHN9JU0qk39OSEmJSCiRghQMLlxGTCY5ovbRRoXjxHXnUKgQEgBDnQfKmA== dependencies: - "@ant-design/colors" "^6.0.0" - "@ant-design/icons-svg" "^4.3.0" + "@ant-design/colors" "^7.0.0" + "@ant-design/icons-svg" "^4.4.0" "@babel/runtime" "^7.11.2" classnames "^2.2.6" - lodash "^4.17.15" - rc-util "^5.9.4" - -"@apideck/better-ajv-errors@^0.3.1": - version "0.3.6" - resolved "https://registry.yarnpkg.com/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz#957d4c28e886a64a8141f7522783be65733ff097" - integrity sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA== - dependencies: - json-schema "^0.4.0" - jsonpointer "^5.0.0" - leven "^3.1.0" + rc-util "^5.31.1" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2": version "7.24.2" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== @@ -71,7 +51,7 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== -"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.14.3", "@babel/core@^7.16.0", "@babel/core@^7.7.2", "@babel/core@^7.8.0": +"@babel/core@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.4.tgz#1f758428e88e0d8c563874741bc4ffc4f71a4717" integrity sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg== @@ -92,7 +72,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.15.8", "@babel/eslint-parser@^7.16.3": +"@babel/eslint-parser@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.24.1.tgz#e27eee93ed1d271637165ef3a86e2b9332395c32" integrity sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ== @@ -101,7 +81,7 @@ eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.24.1", "@babel/generator@^7.24.4", "@babel/generator@^7.7.2": +"@babel/generator@^7.24.1", "@babel/generator@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.4.tgz#1fc55532b88adf952025d5d2d1e71f946cb1c498" integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw== @@ -136,7 +116,7 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": +"@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz#c806f73788a6800a5cfbbc04d2df7ee4d927cce3" integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ== @@ -198,7 +178,7 @@ dependencies: "@babel/types" "^7.23.0" -"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3": +"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1": version "7.24.3" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== @@ -223,7 +203,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a" integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w== @@ -253,7 +233,7 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0", "@babel/helper-skip-transparent-expression-wrappers@^7.22.5": +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== @@ -310,7 +290,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": +"@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.4.tgz#234487a110d89ad5a3ed4a8a566c36b9453e8c88" integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg== @@ -347,56 +327,6 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-proposal-class-properties@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-decorators@^7.16.4": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz#bab2b9e174a2680f0a80f341f3ec70f809f8bb4b" - integrity sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.1" - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-decorators" "^7.24.1" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.16.0": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" @@ -409,14 +339,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -430,13 +353,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-decorators@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz#71d9ad06063a6ac5430db126b5df48c70ee885fa" - integrity sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-dynamic-import@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" @@ -451,13 +367,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-flow@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz#875c25e3428d7896c87589765fc8b9d32f24bd8d" - integrity sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-import-assertions@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971" @@ -472,7 +381,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -493,7 +402,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -507,7 +416,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -542,14 +451,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.24.1", "@babel/plugin-syntax-typescript@^7.7.2": +"@babel/plugin-syntax-typescript@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.1.tgz#b3bcc51f396d15f3591683f90239de143c076844" integrity sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw== @@ -689,14 +598,6 @@ "@babel/helper-plugin-utils" "^7.24.0" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz#fa8d0a146506ea195da1671d38eed459242b2dcc" - integrity sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - "@babel/plugin-syntax-flow" "^7.24.1" - "@babel/plugin-transform-for-of@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd" @@ -877,14 +778,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.24.1.tgz#d493a0918b9fdad7540f5afd9b5eb5c52500d18d" - integrity sha512-QXp1U9x0R7tkiGB0FOk8o74jhnap0FlZ5gNkRIWdG3eP+SvMFg118e1zaWewDzgABb106QSKpVsD3Wgd8t6ifA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/plugin-transform-react-display-name@^7.16.0", "@babel/plugin-transform-react-display-name@^7.24.1": +"@babel/plugin-transform-react-display-name@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.1.tgz#554e3e1a25d181f040cf698b93fd289a03bfdcdb" integrity sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw== @@ -932,18 +826,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.24.0" -"@babel/plugin-transform-runtime@^7.16.4": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz#dc58ad4a31810a890550365cc922e1ff5acb5d7f" - integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ== - dependencies: - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-plugin-utils" "^7.24.0" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.1" - babel-plugin-polyfill-regenerator "^0.6.1" - semver "^6.3.1" - "@babel/plugin-transform-shorthand-properties@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55" @@ -1021,7 +903,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.24.0" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.16.4": +"@babel/preset-env@^7.24.4": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.4.tgz#46dbbcd608771373b88f956ffb67d471dce0d23b" integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A== @@ -1117,7 +999,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.16.0", "@babel/preset-react@^7.18.6": +"@babel/preset-react@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.1.tgz#2450c2ac5cc498ef6101a6ca5474de251e33aa95" integrity sha512-eFa8up2/8cZXLIpkafhaADTXSnl7IsUFCYenRWrARBz0/qZwcT0RBXpys0LJU4+WfPoF2ZG6ew6s2V6izMCwRA== @@ -1129,7 +1011,7 @@ "@babel/plugin-transform-react-jsx-development" "^7.22.5" "@babel/plugin-transform-react-pure-annotations" "^7.24.1" -"@babel/preset-typescript@^7.16.0": +"@babel/preset-typescript@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.24.1.tgz#89bdf13a3149a17b3b2a2c9c62547f06db8845ec" integrity sha512-1DBaMmRDpuYQBPWD8Pf/WEwCrtgRHxsZnP4mIy9G/X+hFfbI47Q2G4t1Paakld84+qsk2fSsUPMKg71jkoOOaQ== @@ -1145,22 +1027,14 @@ resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime-corejs3@^7.10.2": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.24.4.tgz#b9ebe728087cfbb22bbaccc6f9a70d69834124a0" - integrity sha512-VOQOexSilscN24VEY810G/PqtpFvx/z6UqDIjIWbDe2368HhDLkYN5TYwaEz/+eRCUkhJ2WaNLLmQAlxzfWj4w== - dependencies: - core-js-pure "^3.30.2" - regenerator-runtime "^0.14.0" - -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.20.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.6", "@babel/runtime@^7.23.2", "@babel/runtime@^7.23.9", "@babel/runtime@^7.24.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": version "7.24.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.15", "@babel/template@^7.24.0", "@babel/template@^7.3.3": +"@babel/template@^7.22.15", "@babel/template@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== @@ -1169,7 +1043,7 @@ "@babel/parser" "^7.24.0" "@babel/types" "^7.24.0" -"@babel/traverse@^7.24.1", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.24.1": version "7.24.1" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c" integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ== @@ -1185,7 +1059,7 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.4", "@babel/types@^7.24.0", "@babel/types@^7.4.4": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf" integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w== @@ -1194,11 +1068,6 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - "@bpmn-io/element-templates-validator@^0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@bpmn-io/element-templates-validator/-/element-templates-validator-0.2.0.tgz#c3174e6f1b961cee64515bb2b6a0fd82021d56c2" @@ -1220,122 +1089,16 @@ resolved "https://registry.yarnpkg.com/@camunda/element-templates-json-schema/-/element-templates-json-schema-0.4.0.tgz#6590ab3385772bf09cc0df107c02947c770ee682" integrity sha512-M5xW61ba7z2maBxfoT4c1bjuLD8OIL7863et/hULiNG6+R/B9CZ4Qze1juuIfXv4zpF2fYSuUsTPkTtiZrcspQ== -"@csstools/normalize.css@*": - version "12.1.1" - resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-12.1.1.tgz#f0ad221b7280f3fc814689786fd9ee092776ef8f" - integrity sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ== - -"@csstools/postcss-cascade-layers@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz#8a997edf97d34071dd2e37ea6022447dd9e795ad" - integrity sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA== - dependencies: - "@csstools/selector-specificity" "^2.0.2" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-color-function@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz#2bd36ab34f82d0497cfacdc9b18d34b5e6f64b6b" - integrity sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-font-format-keywords@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz#677b34e9e88ae997a67283311657973150e8b16a" - integrity sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-hwb-function@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz#ab54a9fce0ac102c754854769962f2422ae8aa8b" - integrity sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-ic-unit@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz#28237d812a124d1a16a5acc5c3832b040b303e58" - integrity sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-is-pseudo-class@^2.0.7": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz#846ae6c0d5a1eaa878fce352c544f9c295509cd1" - integrity sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -"@csstools/postcss-nested-calc@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz#d7e9d1d0d3d15cf5ac891b16028af2a1044d0c26" - integrity sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-normalize-display-values@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz#15da54a36e867b3ac5163ee12c1d7f82d4d612c3" - integrity sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-oklab-function@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz#88cee0fbc8d6df27079ebd2fa016ee261eecf844" - integrity sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -"@csstools/postcss-progressive-custom-properties@^1.1.0", "@csstools/postcss-progressive-custom-properties@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz#542292558384361776b45c85226b9a3a34f276fa" - integrity sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-stepped-value-functions@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz#f8772c3681cc2befed695e2b0b1d68e22f08c4f4" - integrity sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-text-decoration-shorthand@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz#ea96cfbc87d921eca914d3ad29340d9bcc4c953f" - integrity sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-trigonometric-functions@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz#94d3e4774c36d35dcdc88ce091336cb770d32756" - integrity sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og== - dependencies: - postcss-value-parser "^4.2.0" - -"@csstools/postcss-unset-value@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz#c99bb70e2cdc7312948d1eb41df2412330b81f77" - integrity sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g== - -"@csstools/selector-specificity@^2.0.0", "@csstools/selector-specificity@^2.0.2": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz#2cbcf822bf3764c9658c4d2e568bd0c0cb748016" - integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw== - -"@ctrl/tinycolor@^3.4.0": +"@ctrl/tinycolor@^3.6.1": version "3.6.1" resolved "https://registry.yarnpkg.com/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz#b6c75a56a1947cc916ea058772d666a2c8932f31" integrity sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA== +"@discoveryjs/json-ext@^0.5.0": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + "@emotion/babel-plugin@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz#c2d872b6a7767a9d176d007f5b31f7d504bb5d6c" @@ -1353,7 +1116,7 @@ source-map "^0.5.7" stylis "4.2.0" -"@emotion/cache@^11.11.0", "@emotion/cache@^11.7.1": +"@emotion/cache@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.11.0.tgz#809b33ee6b1cb1a625fef7a45bc568ccd9b8f3ff" integrity sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ== @@ -1385,13 +1148,6 @@ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== -"@emotion/is-prop-valid@^0.8.2": - version "0.8.8" - resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a" - integrity sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA== - dependencies: - "@emotion/memoize" "0.7.4" - "@emotion/is-prop-valid@^1.2.2": version "1.2.2" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz#d4175076679c6a26faa92b03bb786f9e52612337" @@ -1399,17 +1155,12 @@ dependencies: "@emotion/memoize" "^0.8.1" -"@emotion/memoize@0.7.4": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb" - integrity sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw== - "@emotion/memoize@^0.8.1": version "0.8.1" resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@emotion/react@^11.7.1": +"@emotion/react@^11.11.4", "@emotion/react@^11.7.1": version "11.11.4" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" integrity sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw== @@ -1439,7 +1190,7 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== -"@emotion/styled@^11.6.0": +"@emotion/styled@^11.11.5", "@emotion/styled@^11.6.0": version "11.11.5" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.5.tgz#0c5c8febef9d86e8a926e663b2e5488705545dfb" integrity sha512-/ZjjnaNKvuMPxcIiUkf/9SHoG4Q196DRl1w82hQ3WCsjo1IUR8uaGWrC6a87CrYAW0Kb/pK7hk8BnLgLRi9KoQ== @@ -1478,7 +1229,7 @@ dependencies: eslint-visitor-keys "^3.3.0" -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": +"@eslint-community/regexpp@^4.6.1": version "4.10.0" resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== @@ -1562,7 +1313,7 @@ fuse.js "^6.6.2" redux "^4.2.0" -"@formio/react@^5.2.4-rc.1": +"@formio/react@^5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@formio/react/-/react-5.3.0.tgz#bcf939d12ef3876714642473eafe062de2a73501" integrity sha512-C5TGhvMb7qD18gINvktG1STkbaDIW0/uqgti216sJCziIX8w5K+RzATrVtxUAQrGxtPF90gxYLglQGYmKhZjnQ== @@ -1619,161 +1370,11 @@ wrap-ansi "^8.1.0" wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - "@jedmao/location@^3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@jedmao/location/-/location-3.0.0.tgz#f2b24e937386f95252f3a1fefbf7ca2e0a4b87e9" integrity sha512-p7mzNlgJbCioUYLUEKds3cQG4CHONVFJNYqMe6ocEtENCL/jYmMo1Q3ApwsMmU+L0ZkaDJEyv4HokaByLoPwlQ== -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - slash "^3.0.0" - -"@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== - dependencies: - "@sinclair/typebox" "^0.24.1" - "@jest/schemas@^29.6.3": version "29.6.3" resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" @@ -1781,102 +1382,7 @@ dependencies: "@sinclair/typebox" "^0.27.8" -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== - dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== - dependencies: - "@jest/schemas" "^28.1.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5": +"@jridgewell/gen-mapping@^0.3.5": version "0.3.5" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== @@ -1916,11 +1422,6 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@juggle/resize-observer@^3.3.1": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" - integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== - "@leichtgewicht/ip-codec@^2.0.1": version "2.0.5" resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz#4fc56c15c580b9adb7dc3c333a134e540b44bfb1" @@ -2010,59 +1511,6 @@ dmn-js-properties-panel "^0.6.1" react-split-pane "^0.1.92" -"@motionone/animation@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.17.0.tgz#7633c6f684b5fee2b61c405881b8c24662c68fca" - integrity sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg== - dependencies: - "@motionone/easing" "^10.17.0" - "@motionone/types" "^10.17.0" - "@motionone/utils" "^10.17.0" - tslib "^2.3.1" - -"@motionone/dom@^10.15.3": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.17.0.tgz#519dd78aab0750a94614c69a82da5290cd617383" - integrity sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q== - dependencies: - "@motionone/animation" "^10.17.0" - "@motionone/generators" "^10.17.0" - "@motionone/types" "^10.17.0" - "@motionone/utils" "^10.17.0" - hey-listen "^1.0.8" - tslib "^2.3.1" - -"@motionone/easing@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.17.0.tgz#d66cecf7e3ee30104ad00389fb3f0b2282d81aa9" - integrity sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg== - dependencies: - "@motionone/utils" "^10.17.0" - tslib "^2.3.1" - -"@motionone/generators@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.17.0.tgz#878d292539c41434c13310d5f863a87a94e6e689" - integrity sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ== - dependencies: - "@motionone/types" "^10.17.0" - "@motionone/utils" "^10.17.0" - tslib "^2.3.1" - -"@motionone/types@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.17.0.tgz#179571ce98851bac78e19a1c3974767227f08ba3" - integrity sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA== - -"@motionone/utils@^10.17.0": - version "10.17.0" - resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.17.0.tgz#cc0ba8acdc6848ff48d8c1f2d0d3e7602f4f942e" - integrity sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg== - dependencies: - "@motionone/types" "^10.17.0" - hey-listen "^1.0.8" - tslib "^2.3.1" - "@mui/base@5.0.0-beta.40": version "5.0.0-beta.40" resolved "https://registry.yarnpkg.com/@mui/base/-/base-5.0.0-beta.40.tgz#1f8a782f1fbf3f84a961e954c8176b187de3dae2" @@ -2081,27 +1529,14 @@ resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.15.15.tgz#2bc2bda50db66c12f10aefec907c48c8f669ef59" integrity sha512-aXnw29OWQ6I5A47iuWEI6qSSUfH6G/aCsW9KmW3LiFqr7uXZBK4Ks+z8G+qeIub8k0T5CMqlT2q0L+ZJTMrqpg== -"@mui/icons-material@^5.10.9": +"@mui/icons-material@^5.15.15": version "5.15.15" resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.15.15.tgz#84ce08225a531d9f5dc5132009d91164b456a0ae" integrity sha512-kkeU/pe+hABcYDH6Uqy8RmIsr2S/y5bP2rp+Gat4CcRjCcVne6KudS1NrZQhUCRysrTDCAhcbcf9gt+/+pGO2g== dependencies: "@babel/runtime" "^7.23.9" -"@mui/lab@^5.0.0-alpha.106": - version "5.0.0-alpha.170" - resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.170.tgz#4519dfc8d1c51ca54fb9d8b91b95a3733d07be16" - integrity sha512-0bDVECGmrNjd3+bLdcLiwYZ0O4HP5j5WSQm5DV6iA/Z9kr8O6AnvZ1bv9ImQbbX7Gj3pX4o43EKwCutj3EQxQg== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/base" "5.0.0-beta.40" - "@mui/system" "^5.15.15" - "@mui/types" "^7.2.14" - "@mui/utils" "^5.15.14" - clsx "^2.1.0" - prop-types "^15.8.1" - -"@mui/material@^5.10.12": +"@mui/material@^5.15.15": version "5.15.15" resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.15.15.tgz#e3ba35f50b510aa677cec3261abddc2db7b20b59" integrity sha512-3zvWayJ+E1kzoIsvwyEvkTUKVKt1AjchFFns+JtluHCuvxgKcLSRJTADw37k0doaRtVAsyh8bz9Afqzv+KYrIA== @@ -2161,7 +1596,7 @@ jss-plugin-vendor-prefixer "^10.10.0" prop-types "^15.8.1" -"@mui/system@^5.15.15": +"@mui/system@^5.15.14", "@mui/system@^5.15.15": version "5.15.15" resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.15.15.tgz#658771b200ce3c4a0f28e58169f02e5e718d1c53" integrity sha512-aulox6N1dnu5PABsfxVGOZffDVmlxPOVgj56HrUnJE8MCSh8lOvvkd47cebIVQQYAjpwieXQXiDPj5pwM40jTQ== @@ -2180,7 +1615,7 @@ resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.14.tgz#8a02ac129b70f3d82f2f9b76ded2c8d48e3fc8c9" integrity sha512-MZsBZ4q4HfzBsywtXgM1Ksj6HDThtiwmOKUXH1pKYISI9gAVXCNHNpo7TlGoGrBaYWZTdNoirIN7JsQcQUjmQQ== -"@mui/utils@^5.10.3", "@mui/utils@^5.15.14": +"@mui/utils@^5.15.14": version "5.15.14" resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.15.14.tgz#e414d7efd5db00bfdc875273a40c0a89112ade3a" integrity sha512-0lF/7Hh/ezDv5X7Pry6enMsbYyGKjADzvHyo3Qrc/SSlTsQ1VkbDMbH0m2t3OR5iIVLwMoxwM7yGd+6FCMtTFA== @@ -2190,16 +1625,17 @@ prop-types "^15.8.1" react-is "^18.2.0" -"@mui/x-data-grid@^5.17.10": - version "5.17.26" - resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-5.17.26.tgz#1f7fa73dd3986cf052e2fd2cb56eb4678a7bd913" - integrity sha512-eGJq9J0g9cDGLFfMmugOadZx0mJeOd/yQpHwEa5gUXyONS6qF0OhXSWyDOhDdA3l2TOoQzotMN5dY/T4Wl1KYA== +"@mui/x-data-grid@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@mui/x-data-grid/-/x-data-grid-7.2.0.tgz#9f908d695467fbeaa02a3d82d94172b7db7894bc" + integrity sha512-WKmFo0eKhj3W7Fv8u5n2XP4UcdzuJ+mEYALiMUDAYsah/hPBH9mA1miXn9DjXF3i3dxgzrTjdJemTgTJxAQZKg== dependencies: - "@babel/runtime" "^7.18.9" - "@mui/utils" "^5.10.3" - clsx "^1.2.1" + "@babel/runtime" "^7.24.0" + "@mui/system" "^5.15.14" + "@mui/utils" "^5.15.14" + clsx "^2.1.0" prop-types "^15.8.1" - reselect "^4.1.6" + reselect "^4.1.8" "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" @@ -2216,12 +1652,12 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@2.0.5": version "2.0.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": +"@nodelib/fs.walk@^1.2.8": version "1.2.8" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== @@ -2229,25 +1665,25 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@novu/client@^0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@novu/client/-/client-0.23.1.tgz#655461fde6dc64a8da6537d73221013dd4458a9d" - integrity sha512-2u6wTKMgjyEdYx//ipI5zWPWyqGHTwd3PdE4pC1C00UUKiRJmYSKuIh5A3nTLjiMQIBCk/eksggDBK1PhZBolw== +"@novu/client@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@novu/client/-/client-0.24.1.tgz#6c57cc45e5b538a6a5dcb0093b4b260b5f8afc3f" + integrity sha512-gbZaOHFcBfwa9hUB7tt7P+Q8OoJmcvnYFOz91O8p/K0nA0nYe0dUNHL+fppCDAt7SiIoBHDAF2Pe3NXHVmIHOw== dependencies: - "@novu/shared" "^0.23.1" + "@novu/shared" "^0.24.1" -"@novu/notification-center@^0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@novu/notification-center/-/notification-center-0.23.1.tgz#dc0f2e0d73524e416df33ccb9af9d49141764c90" - integrity sha512-JIoXim2VrFOkMCcgs/8gDOSw2U75tigpPEklU0BiObVGERbLYVVxIUtMY4W4BNoI0lAyiGX9P1ghSW9Vah7arw== +"@novu/notification-center@^0.24.0": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@novu/notification-center/-/notification-center-0.24.1.tgz#beefb3944a255b1b3e0a4e5bbc80fd919d72a86c" + integrity sha512-v0g7Dsav54ZT89ri+mG7aOTpnmIRwDyVEBEwuhUxlrgYjR8LiG8VD5xAXtGcYTBkDwksROEy2xB3I0qVNvrNAA== dependencies: "@emotion/css" "^11.10.5" "@emotion/react" "^11.7.1" "@emotion/styled" "^11.6.0" "@mantine/core" "^5.7.1" "@mantine/hooks" "^5.7.1" - "@novu/client" "^0.23.1" - "@novu/shared" "^0.23.1" + "@novu/client" "^0.24.1" + "@novu/shared" "^0.24.1" "@tanstack/react-query" "^4.20.4" acorn-jsx "^5.3.2" axios "^1.6.2" @@ -2259,10 +1695,10 @@ tslib "^2.3.1" webfontloader "^1.6.28" -"@novu/shared@^0.23.1": - version "0.23.1" - resolved "https://registry.yarnpkg.com/@novu/shared/-/shared-0.23.1.tgz#4dc683b18d50a11a197758b5388e6d1de6f9a0b0" - integrity sha512-XGjs+hT0kYMRqBAdIUqw/oijXD/1KCE6CByIMiLDOPeMZpQitWEt0HhdQaVfv2C7My7UWttAO/3zLte11WmyWQ== +"@novu/shared@^0.24.1": + version "0.24.1" + resolved "https://registry.yarnpkg.com/@novu/shared/-/shared-0.24.1.tgz#6fa1f7aad8b1fb6943479806d74cf787437f1f83" + integrity sha512-9tar3FG+v1iB6MZlt5wcL8gsqK17GCCDdwk1w1VTmbefetJIF6PTIVLEknPwKIy7Qb/xmsf1SYlBDwe1VFgKUg== dependencies: axios "^1.6.2" class-transformer "0.5.1" @@ -2273,26 +1709,6 @@ resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33" integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== -"@pkgr/core@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.1.tgz#1ec17e2edbec25c8306d424ecfbf13c7de1aaa31" - integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== - -"@pmmmwh/react-refresh-webpack-plugin@^0.5.3": - version "0.5.11" - resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz#7c2268cedaa0644d677e8c4f377bc8fb304f714a" - integrity sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ== - dependencies: - ansi-html-community "^0.0.8" - common-path-prefix "^3.0.0" - core-js-pure "^3.23.3" - error-stack-parser "^2.0.6" - find-up "^5.0.0" - html-entities "^2.1.0" - loader-utils "^2.0.4" - schema-utils "^3.0.0" - source-map "^0.7.3" - "@popperjs/core@^2.11.8", "@popperjs/core@^2.9.0": version "2.11.8" resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" @@ -2388,215 +1804,41 @@ dependencies: "@babel/runtime" "^7.13.10" -"@reduxjs/toolkit@^1.7.1": - version "1.9.7" - resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-1.9.7.tgz#7fc07c0b0ebec52043f8cb43510cf346405f78a6" - integrity sha512-t7v8ZPxhhKgOKtU+uyJT13lu4vL7az5aFi4IdoDs/eS548edn2M8Ik9h8fxgvMjGoAUVFSt6ZC1P5cWmQ014QQ== +"@reduxjs/toolkit@^2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@reduxjs/toolkit/-/toolkit-2.2.3.tgz#5ce71cbf162f98c5dafb49bd3f1e11c5486ab9c4" + integrity sha512-76dll9EnJXg4EVcI5YNxZA/9hSAmZsFqzMmNRHvIlzw2WS/twfcVX3ysYrWGJMClwEmChQFC4yRq74tn6fdzRA== dependencies: - immer "^9.0.21" - redux "^4.2.1" - redux-thunk "^2.4.2" - reselect "^4.1.8" + immer "^10.0.3" + redux "^5.0.1" + redux-thunk "^3.1.0" + reselect "^5.0.1" "@remix-run/router@1.15.3": version "1.15.3" resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.3.tgz#d2509048d69dbb72d5389a14945339f1430b2d3c" integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w== -"@rollup/plugin-babel@^5.2.0": - version "5.3.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283" - integrity sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@rollup/pluginutils" "^3.1.0" - -"@rollup/plugin-node-resolve@^11.2.1": - version "11.2.1" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" - integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - "@types/resolve" "1.17.1" - builtin-modules "^3.1.0" - deepmerge "^4.2.2" - is-module "^1.0.0" - resolve "^1.19.0" - -"@rollup/plugin-replace@^2.4.1": - version "2.4.2" - resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" - integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== - dependencies: - "@rollup/pluginutils" "^3.1.0" - magic-string "^0.25.7" - -"@rollup/pluginutils@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@rushstack/eslint-patch@^1.1.0": - version "1.10.1" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.1.tgz#7ca168b6937818e9a74b47ac4e2112b2e1a024cf" - integrity sha512-S3Kq8e7LqxkA9s7HKLqXGTGck1uwis5vAXan3FnU5yw1Ec5hsSGnq4s/UCaSqABPOnOTg7zASLyst7+ohgWexg== - "@seznam/compose-react-refs@^1.0.6": version "1.0.6" resolved "https://registry.yarnpkg.com/@seznam/compose-react-refs/-/compose-react-refs-1.0.6.tgz#6ec4e70bdd6e32f8e70b4100f27267cf306bd8df" integrity sha512-izzOXQfeQLonzrIQb8u6LQ8dk+ymz3WXTIXjvOlTXHq6sbzROg3NWU+9TTAOpEoK9Bth24/6F/XrfHJ5yR5n6Q== -"@sinclair/typebox@^0.24.1": - version "0.24.51" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" - integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== - "@sinclair/typebox@^0.27.8": version "0.27.8" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== - dependencies: - "@sinonjs/commons" "^1.7.0" - "@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + version "3.1.1" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz#621270c02c0a5d4f4669eb1caa9723c91cf201de" + integrity sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg== "@sphinxxxx/color-conversion@^2.2.2": version "2.2.2" resolved "https://registry.yarnpkg.com/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz#03ecc29279e3c0c832f6185a5bfa3497858ac8ca" integrity sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw== -"@surma/rollup-plugin-off-main-thread@^2.2.3": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz#ee34985952ca21558ab0d952f00298ad2190c053" - integrity sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ== - dependencies: - ejs "^3.1.6" - json5 "^2.2.0" - magic-string "^0.25.0" - string.prototype.matchall "^4.0.6" - -"@svgr/babel-plugin-add-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz#81ef61947bb268eb9d50523446f9c638fb355906" - integrity sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg== - -"@svgr/babel-plugin-remove-jsx-attribute@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-5.4.0.tgz#6b2c770c95c874654fd5e1d5ef475b78a0a962ef" - integrity sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-5.0.1.tgz#25621a8915ed7ad70da6cea3d0a6dbc2ea933efd" - integrity sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-5.0.1.tgz#0b221fc57f9fcd10e91fe219e2cd0dd03145a897" - integrity sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ== - -"@svgr/babel-plugin-svg-dynamic-title@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-5.4.0.tgz#139b546dd0c3186b6e5db4fefc26cb0baea729d7" - integrity sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg== - -"@svgr/babel-plugin-svg-em-dimensions@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-5.4.0.tgz#6543f69526632a133ce5cabab965deeaea2234a0" - integrity sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw== - -"@svgr/babel-plugin-transform-react-native-svg@^5.4.0": - version "5.4.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-5.4.0.tgz#00bf9a7a73f1cad3948cdab1f8dfb774750f8c80" - integrity sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q== - -"@svgr/babel-plugin-transform-svg-component@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-5.5.0.tgz#583a5e2a193e214da2f3afeb0b9e8d3250126b4a" - integrity sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ== - -"@svgr/babel-preset@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-5.5.0.tgz#8af54f3e0a8add7b1e2b0fcd5a882c55393df327" - integrity sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^5.4.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^5.0.1" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^5.0.1" - "@svgr/babel-plugin-svg-dynamic-title" "^5.4.0" - "@svgr/babel-plugin-svg-em-dimensions" "^5.4.0" - "@svgr/babel-plugin-transform-react-native-svg" "^5.4.0" - "@svgr/babel-plugin-transform-svg-component" "^5.5.0" - -"@svgr/core@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-5.5.0.tgz#82e826b8715d71083120fe8f2492ec7d7874a579" - integrity sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ== - dependencies: - "@svgr/plugin-jsx" "^5.5.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - -"@svgr/hast-util-to-babel-ast@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-5.5.0.tgz#5ee52a9c2533f73e63f8f22b779f93cd432a5461" - integrity sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ== - dependencies: - "@babel/types" "^7.12.6" - -"@svgr/plugin-jsx@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-5.5.0.tgz#1aa8cd798a1db7173ac043466d7b52236b369000" - integrity sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA== - dependencies: - "@babel/core" "^7.12.3" - "@svgr/babel-preset" "^5.5.0" - "@svgr/hast-util-to-babel-ast" "^5.5.0" - svg-parser "^2.0.2" - -"@svgr/plugin-svgo@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-5.5.0.tgz#02da55d85320549324e201c7b2e53bf431fcc246" - integrity sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ== - dependencies: - cosmiconfig "^7.0.0" - deepmerge "^4.2.2" - svgo "^1.2.2" - -"@svgr/webpack@^5.5.0": - version "5.5.0" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-5.5.0.tgz#aae858ee579f5fa8ce6c3166ef56c6a1b381b640" - integrity sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g== - dependencies: - "@babel/core" "^7.12.3" - "@babel/plugin-transform-react-constant-elements" "^7.12.1" - "@babel/preset-env" "^7.12.1" - "@babel/preset-react" "^7.12.5" - "@svgr/core" "^5.5.0" - "@svgr/plugin-jsx" "^5.5.0" - "@svgr/plugin-svgo" "^5.5.0" - loader-utils "^2.0.0" - "@syncfusion/ej2-base@~20.4.48", "@syncfusion/ej2-base@~20.4.51": version "20.4.51" resolved "https://registry.yarnpkg.com/@syncfusion/ej2-base/-/ej2-base-20.4.51.tgz#93a551c1ee092815233d4fa06200318ffd9e9fbc" @@ -2719,10 +1961,17 @@ "@syncfusion/ej2-base" "~20.4.48" "@syncfusion/ej2-popups" "~20.4.49" -"@tabler/icons@^1.96.0": - version "1.119.0" - resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-1.119.0.tgz#8c590bc5a563c8673a78ccd451bedabd584b376e" - integrity sha512-Fk3Qq4w2SXcTjc/n1cuL5bccPkylrOMo7cYpQIf/yw6zP76LQV9dtLcHQUjFiUnaYuswR645CnURIhlafyAh9g== +"@tabler/icons-react@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@tabler/icons-react/-/icons-react-3.2.0.tgz#1b8d4059672ec2999f29f9aea03c44f00084ce66" + integrity sha512-b1mZT1XpZrzvbM+eFe1YbYbxkzgJ18tM4knZKqXh0gnHDZ6XVLIH3TzJZ3HZ7PTkUqZLZ7XcGae3qQVGburlBw== + dependencies: + "@tabler/icons" "3.2.0" + +"@tabler/icons@3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-3.2.0.tgz#4adcde021943d50f2c228dab6145fd9c9b639f85" + integrity sha512-h8GQ2rtxgiSjltrVz4vcopAxTPSpUSUi5nBfJ09H3Bk4fJk6wZ/dVUjzhv/BHfDwGTkAxZBiYe/Q/T95cPeg5Q== "@tanstack/query-core@4.36.1": version "4.36.1" @@ -2737,97 +1986,6 @@ "@tanstack/query-core" "4.36.1" use-sync-external-store "^1.2.0" -"@testing-library/dom@^8.5.0": - version "8.20.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" - integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "5.1.3" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@^5.11.4": - version "5.17.0" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz#5e97c8f9a15ccf4656da00fecab505728de81e0c" - integrity sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg== - dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^13.4.0": - version "13.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" - "@types/react-dom" "^18.0.0" - -"@testing-library/user-event@^14.4.3": - version "14.5.2" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.5.2.tgz#db7257d727c891905947bd1c1a99da20e03c2ebd" - integrity sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ== - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@trysound/sax@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" - integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== - -"@types/aria-query@^5.0.1": - version "5.0.4" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" - integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== - -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - "@types/body-parser@*": version "1.19.5" resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.5.tgz#04ce9a3b677dc8bd681a17da1ab9835dc9d3ede4" @@ -2836,14 +1994,14 @@ "@types/connect" "*" "@types/node" "*" -"@types/bonjour@^3.5.9": +"@types/bonjour@^3.5.13": version "3.5.13" resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.13.tgz#adf90ce1a105e81dd1f9c61fdc5afda1bfb92956" integrity sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ== dependencies: "@types/node" "*" -"@types/connect-history-api-fallback@^1.3.5": +"@types/connect-history-api-fallback@^1.5.4": version "1.5.4" resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz#7de71645a103056b48ac3ce07b3520b819c1d5b3" integrity sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw== @@ -2866,10 +2024,10 @@ "@types/eslint" "*" "@types/estree" "*" -"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": - version "8.56.7" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.7.tgz#c33b5b5a9cfb66881beb7b5be6c34aa3e81d3366" - integrity sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA== +"@types/eslint@*": + version "8.56.9" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.9.tgz#403e9ced04a34e63f1c383c5b8ee1a94442c8cc4" + integrity sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -2879,11 +2037,6 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": version "4.19.0" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.19.0.tgz#3ae8ab3767d98d0b682cda063c3339e1e86ccfaa" @@ -2894,7 +2047,7 @@ "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.13": +"@types/express@*", "@types/express@^4.17.21": version "4.17.21" resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -2904,13 +2057,6 @@ "@types/qs" "*" "@types/serve-static" "*" -"@types/graceful-fs@^4.1.2": - version "4.1.9" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" - integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== - dependencies: - "@types/node" "*" - "@types/hast@^2.0.0": version "2.3.10" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" @@ -2918,14 +2064,6 @@ dependencies: "@types/unist" "^2" -"@types/hoist-non-react-statics@^3.3.1": - version "3.3.5" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz#dab7867ef789d87e2b4b0003c9d65c49cc44a494" - integrity sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg== - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - "@types/html-minifier-terser@^6.0.0": version "6.1.0" resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" @@ -2943,44 +2081,19 @@ dependencies: "@types/node" "*" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/istanbul-lib-report@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz#53047614ae72e19fc0401d872de3ae2b4ce350bf" - integrity sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz#0f03e3d2f670fbdac586e34b433783070cc16f54" - integrity sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jest@*": - version "29.5.12" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.12.tgz#7f7dc6eb4cf246d2474ed78744b05d06ce025544" - integrity sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": +"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.15" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/lodash-es@^4.17.6": + version "4.17.12" + resolved "https://registry.yarnpkg.com/@types/lodash-es/-/lodash-es-4.17.12.tgz#65f6d1e5f80539aa7cfbfc962de5def0cf4f341b" + integrity sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ== + dependencies: + "@types/lodash" "*" -"@types/lodash@^4.14.175": +"@types/lodash@*": version "4.17.0" resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.0.tgz#d774355e41f372d5350a4d0714abb48194a489c3" integrity sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA== @@ -2998,9 +2111,9 @@ "@types/node" "*" "@types/node@*": - version "20.12.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.4.tgz#af5921bd75ccdf3a3d8b3fa75bf3d3359268cd11" - integrity sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw== + version "20.12.7" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.7.tgz#04080362fa3dd6c5822061aa3124f5c152cff384" + integrity sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg== dependencies: undici-types "~5.26.4" @@ -3009,21 +2122,11 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.2.tgz#5950e50960793055845e956c427fc2b0d70c5239" integrity sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw== -"@types/prettier@^2.1.5": - version "2.7.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" - integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== - "@types/prop-types@*", "@types/prop-types@^15.7.11": version "15.7.12" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== -"@types/q@^1.5.1": - version "1.5.8" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837" - integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw== - "@types/qs@*": version "6.9.14" resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.14.tgz#169e142bfe493895287bee382af6039795e9b75b" @@ -3034,13 +2137,6 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== -"@types/react-dom@^18.0.0": - version "18.2.24" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.24.tgz#8dda8f449ae436a7a6e91efed8035d4ab03ff759" - integrity sha512-cN6upcKd8zkGy4HU9F1+/s98Hrp6D4MOcippK4PoE8OZRngohHZpbJn1GsaDLz87MqvHNoT13nHvNqM9ocRHZg== - dependencies: - "@types/react" "*" - "@types/react-transition-group@^4.4.10": version "4.4.10" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.10.tgz#6ee71127bdab1f18f11ad8fb3322c6da27c327ac" @@ -3049,29 +2145,17 @@ "@types/react" "*" "@types/react@*": - version "18.2.74" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.74.tgz#2d52eb80e4e7c4ea8812c89181d6d590b53f958c" - integrity sha512-9AEqNZZyBx8OdZpxzQlaFEVCSFUM2YXJH46yPOiOpm078k6ZLOCcuAzGum/zK8YBwY+dbahVNbHrbgrAwIRlqw== + version "18.2.78" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.78.tgz#94aec453d0ccca909998a2b4b2fd78af15a7d2fe" + integrity sha512-qOwdPnnitQY4xKlKayt42q5W5UQrSHjgoXNVEtxeqdITJ99k4VXJOP3vt8Rkm9HmgJpH50UNU+rlqfkfWOqp0A== dependencies: "@types/prop-types" "*" csstype "^3.0.2" -"@types/resolve@1.17.1": - version "1.17.1" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" - integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== - dependencies: - "@types/node" "*" - -"@types/retry@0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" - integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== - -"@types/semver@^7.3.12": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== +"@types/retry@0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" + integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== "@types/send@*": version "0.17.4" @@ -3081,14 +2165,14 @@ "@types/mime" "^1" "@types/node" "*" -"@types/serve-index@^1.9.1": +"@types/serve-index@^1.9.4": version "1.9.4" resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.4.tgz#e6ae13d5053cb06ed36392110b4f9a49ac4ec898" integrity sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug== dependencies: "@types/express" "*" -"@types/serve-static@*", "@types/serve-static@^1.13.10": +"@types/serve-static@*", "@types/serve-static@^1.15.5": version "1.15.7" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.7.tgz#22174bbd74fb97fe303109738e9b5c2f3064f714" integrity sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw== @@ -3097,30 +2181,13 @@ "@types/node" "*" "@types/send" "*" -"@types/sockjs@^0.3.33": +"@types/sockjs@^0.3.36": version "0.3.36" resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.36.tgz#ce322cf07bcc119d4cbf7f88954f3a3bd0f67535" integrity sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q== dependencies: "@types/node" "*" -"@types/stack-utils@^2.0.0": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.3.tgz#6209321eb2c1712a7e7466422b8cb1fc0d9dd5d8" - integrity sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw== - -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.9" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz#0fb1e6a0278d87b6737db55af5967570b67cb466" - integrity sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw== - dependencies: - "@types/jest" "*" - -"@types/trusted-types@^2.0.2": - version "2.0.7" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" - integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== - "@types/unist@^2": version "2.0.10" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.10.tgz#04ffa7f406ab628f7f7e97ca23e290cd8ab15efc" @@ -3136,123 +2203,13 @@ resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.11.9.tgz#adfe96520b437a0eaa798a475877bf2f75ee402d" integrity sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw== -"@types/ws@^8.5.5": +"@types/ws@^8.5.10": version "8.5.10" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== dependencies: "@types/node" "*" -"@types/yargs-parser@*": - version "21.0.3" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.3.tgz#815e30b786d2e8f0dcd85fd5bcf5e1a04d008f15" - integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== - -"@types/yargs@^16.0.0": - version "16.0.9" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.9.tgz#ba506215e45f7707e6cbcaf386981155b7ab956e" - integrity sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^5.5.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/experimental-utils@^5.0.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" - integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== - dependencies: - "@typescript-eslint/utils" "5.62.0" - -"@typescript-eslint/parser@^5.5.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== - dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.58.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - "@uiw/react-monacoeditor@^3.2.2": version "3.6.0" resolved "https://registry.yarnpkg.com/@uiw/react-monacoeditor/-/react-monacoeditor-3.6.0.tgz#b2c908ce3cd4dd936f4a0e142440c1cb1ce1f103" @@ -3387,6 +2344,21 @@ "@webassemblyjs/ast" "1.12.1" "@xtuc/long" "4.2.2" +"@webpack-cli/configtest@^2.1.1": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.1.tgz#3b2f852e91dac6e3b85fb2a314fb8bef46d94646" + integrity sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw== + +"@webpack-cli/info@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.2.tgz#cc3fbf22efeb88ff62310cf885c5b09f44ae0fdd" + integrity sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A== + +"@webpack-cli/serve@^2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" + integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== + "@xtuc/ieee754@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" @@ -3397,16 +2369,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -"@yr/monotone-cubic-spline@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz#7272d89f8e4f6fb7a1600c28c378cc18d3b577b9" - integrity sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA== - -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - abortcontroller-polyfill@^1.7.5: version "1.7.5" resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" @@ -3420,14 +2382,6 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - acorn-import-assertions@^1.9.0: version "1.9.0" resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" @@ -3438,46 +2392,11 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - -acorn@^7.1.1: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: +acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: version "8.11.3" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -add@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/add/-/add-2.0.6.tgz#248f0a9f6e5a528ef2295dbeec30532130ae2235" - integrity sha512-j5QzrmsokwWWp6kUcJQySpbG+xfOBqqKnup3OIk1pz+kB/80SLorZ9V8zHFLO92Lcd+hbvq8bT+zOGoPkmBV0Q== - -address@^1.0.1, address@^1.1.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" - integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== - -adjust-sourcemap-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz#fc4a0fd080f7d10471f30a7320f25560ade28c99" - integrity sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A== - dependencies: - loader-utils "^2.0.0" - regex-parser "^2.2.11" - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - ajv-formats@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" @@ -3485,7 +2404,7 @@ ajv-formats@^2.1.1: dependencies: ajv "^8.0.0" -ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: +ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== @@ -3497,7 +2416,7 @@ ajv-keywords@^5.1.0: dependencies: fast-deep-equal "^3.1.3" -ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -3507,7 +2426,7 @@ ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.6.0, ajv@^8.9.0: +ajv@^8.0.0, ajv@^8.9.0: version "8.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== @@ -3522,13 +2441,6 @@ animation-frame-polyfill@^1.0.0: resolved "https://registry.yarnpkg.com/animation-frame-polyfill/-/animation-frame-polyfill-1.0.2.tgz#249fade79bc0a79354ba9b4447bb30f54fdd724e" integrity sha512-PvO5poSMoHhaoNNgHPo+oqs/0L9UqjsUbqv0iOXVqLh6HX85fsOVQTUrzSBvjdZz7hydARlgLELyzJJKIrPJAQ== -ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - ansi-html-community@^0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" @@ -3568,12 +2480,7 @@ ansi-styles@^6.1.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - -anymatch@^3.0.3, anymatch@~3.1.2: +anymatch@~3.1.2: version "3.1.3" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== @@ -3581,31 +2488,6 @@ anymatch@^3.0.3, anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -apexcharts@^3.27.3: - version "3.48.0" - resolved "https://registry.yarnpkg.com/apexcharts/-/apexcharts-3.48.0.tgz#cf0e18f4551b04a242d81942c965c15547f5f1b6" - integrity sha512-Lhpj1Ij6lKlrUke8gf+P+SE6uGUn+Pe1TnCJ+zqrY0YMvbqM3LMb1lY+eybbTczUyk0RmMZomlTa2NgX2EUs4Q== - dependencies: - "@yr/monotone-cubic-spline" "^1.0.3" - svg.draggable.js "^2.2.2" - svg.easing.js "^2.0.0" - svg.filter.js "^2.0.2" - svg.pathmorphing.js "^0.1.3" - svg.resize.js "^1.4.3" - svg.select.js "^3.0.1" - -arg@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" - integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" @@ -3618,29 +2500,7 @@ aria-hidden@^1.1.3: dependencies: tslib "^2.0.0" -aria-query@5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -aria-query@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" - integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== - dependencies: - "@babel/runtime" "^7.10.2" - "@babel/runtime-corejs3" "^7.10.2" - -aria-query@^5.0.0, aria-query@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" - integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== - dependencies: - dequal "^2.0.3" - -array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1: +array-buffer-byte-length@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== @@ -3658,7 +2518,7 @@ array-from@^2.1.1: resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" integrity sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg== -array-includes@^3.1.5, array-includes@^3.1.6, array-includes@^3.1.7: +array-includes@^3.1.6, array-includes@^3.1.7: version "3.1.8" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== @@ -3670,11 +2530,6 @@ array-includes@^3.1.5, array-includes@^3.1.6, array-includes@^3.1.7: get-intrinsic "^1.2.4" is-string "^1.0.7" -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - array.prototype.findlast@^1.2.4: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz#3e4fbcb30a15a7f5bf64cf2faae22d139c2e4904" @@ -3687,19 +2542,7 @@ array.prototype.findlast@^1.2.4: es-object-atoms "^1.0.0" es-shim-unscopables "^1.0.2" -array.prototype.findlastindex@^1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz#8c35a755c72908719453f87145ca011e39334d0d" - integrity sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-shim-unscopables "^1.0.2" - -array.prototype.flat@^1.3.1, array.prototype.flat@^1.3.2: +array.prototype.flat@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== @@ -3719,19 +2562,6 @@ array.prototype.flatmap@^1.3.2: es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" -array.prototype.reduce@^1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz#6aadc2f995af29cb887eb866d981dc85ab6f7dc7" - integrity sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-array-method-boxes-properly "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - is-string "^1.0.7" - array.prototype.toreversed@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz#b989a6bf35c4c5051e1dc0325151bf8088954eba" @@ -3767,36 +2597,11 @@ arraybuffer.prototype.slice@^1.0.3: is-array-buffer "^3.0.4" is-shared-array-buffer "^1.0.2" -asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - -ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== - -ast-types-flow@^0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.8.tgz#0a85e1c92695769ac13a428bb653e7538bea27d6" - integrity sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ== - -async@^3.2.3: - version "3.2.5" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66" - integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - atoa@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/atoa/-/atoa-1.0.0.tgz#0cc0e91a480e738f923ebc103676471779b34a49" @@ -3807,18 +2612,6 @@ autocompleter@^7.0.1: resolved "https://registry.yarnpkg.com/autocompleter/-/autocompleter-7.1.0.tgz#f8ff1428ec976eddc3eb8df7a2842c287d9b2bf5" integrity sha512-uCToOnq7eAD/GJAteDbYuQ7ksDtrYWOy5CIAq43wh0dT+5frMpPlyD9tp+y5fz8KIcsP+zR2MjzoTAdW5aJESw== -autoprefixer@^10.4.13: - version "10.4.19" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f" - integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew== - dependencies: - browserslist "^4.23.0" - caniuse-lite "^1.0.30001599" - fraction.js "^4.3.7" - normalize-range "^0.1.2" - picocolors "^1.0.0" - postcss-value-parser "^4.2.0" - available-typed-arrays@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" @@ -3826,16 +2619,6 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -axe-core@=4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" - integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== - -axe-core@^4.4.3: - version "4.9.0" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.9.0.tgz#b18971494551ab39d4ff5f7d4c6411bd20cc7c2a" - integrity sha512-H5orY+M2Fr56DWmMFpMrq5Ge93qjNdPVqzBv5gWK3aD1OvjBEJlEzxf09z93dGVQeI0LiW+aCMIx1QtShC/zUw== - axios@^1.6.2: version "1.6.8" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" @@ -3845,62 +2628,13 @@ axios@^1.6.2: form-data "^4.0.0" proxy-from-env "^1.1.0" -axobject-query@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" - integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== - -axobject-query@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" - integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg== - dependencies: - dequal "^2.0.3" - -babel-jest@^27.4.2, babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-loader@^8.2.3: - version "8.3.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" - integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^2.0.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== +babel-loader@^9.1.3: + version "9.1.3" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" + integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" + find-cache-dir "^4.0.0" + schema-utils "^4.0.0" babel-plugin-macros@^3.1.0: version "3.1.0" @@ -3911,11 +2645,6 @@ babel-plugin-macros@^3.1.0: cosmiconfig "^7.0.0" resolve "^1.19.0" -babel-plugin-named-asset-import@^0.3.8: - version "0.3.8" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz#6b7fa43c59229685368683c28bc9734f24524cc2" - integrity sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q== - babel-plugin-polyfill-corejs2@^0.4.10: version "0.4.10" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1" @@ -3925,7 +2654,7 @@ babel-plugin-polyfill-corejs2@^0.4.10: "@babel/helper-define-polyfill-provider" "^0.6.1" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4: +babel-plugin-polyfill-corejs3@^0.10.4: version "0.10.4" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== @@ -3940,11 +2669,6 @@ babel-plugin-polyfill-regenerator@^0.6.1: dependencies: "@babel/helper-define-polyfill-provider" "^0.6.1" -babel-plugin-transform-react-remove-prop-types@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - babel-polyfill@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" @@ -3954,54 +2678,6 @@ babel-polyfill@^6.26.0: core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - -babel-preset-react-app@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz#ed6005a20a24f2c88521809fa9aea99903751584" - integrity sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg== - dependencies: - "@babel/core" "^7.16.0" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-decorators" "^7.16.4" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-transform-flow-strip-types" "^7.16.0" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-runtime" "^7.16.4" - "@babel/preset-env" "^7.16.4" - "@babel/preset-react" "^7.16.0" - "@babel/preset-typescript" "^7.16.0" - "@babel/runtime" "^7.16.3" - babel-plugin-macros "^3.1.0" - babel-plugin-transform-react-remove-prop-types "^0.4.24" - babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -4015,27 +2691,11 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - batch@0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== -bfj@^7.0.2: - version "7.1.0" - resolved "https://registry.yarnpkg.com/bfj/-/bfj-7.1.0.tgz#c5177d522103f9040e1b12980fe8c38cf41d3f8b" - integrity sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw== - dependencies: - bluebird "^3.7.2" - check-types "^11.2.3" - hoopy "^0.1.4" - jsonpath "^1.1.1" - tryer "^1.0.1" - big.js@^5.2.2: version "5.2.2" resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" @@ -4046,11 +2706,6 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - body-parser@1.20.2: version "1.20.2" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" @@ -4069,7 +2724,7 @@ body-parser@1.20.2: type-is "~1.6.18" unpipe "1.0.0" -bonjour-service@^1.0.11: +bonjour-service@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/bonjour-service/-/bonjour-service-1.2.1.tgz#eb41b3085183df3321da1264719fbada12478d02" integrity sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw== @@ -4077,7 +2732,7 @@ bonjour-service@^1.0.11: fast-deep-equal "^3.1.3" multicast-dns "^7.2.5" -boolbase@^1.0.0, boolbase@~1.0.0: +boolbase@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== @@ -4181,12 +2836,7 @@ browser-md5-file@^1.1.1: dependencies: spark-md5 "^2.0.2" -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0: +browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0: version "4.23.0" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== @@ -4196,22 +2846,17 @@ browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^ node-releases "^2.0.14" update-browserslist-db "^1.0.13" -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -builtin-modules@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== +bundle-name@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-4.1.0.tgz#f3b96b34160d6431a19d7688135af7cfb8797889" + integrity sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q== + dependencies: + run-applescript "^7.0.0" bytes@3.0.0: version "3.0.0" @@ -4247,21 +2892,6 @@ camel-case@^4.1.2: pascal-case "^3.1.2" tslib "^2.0.3" -camelcase-css@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" - integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== - -camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.2.0, camelcase@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - camunda-bpmn-moddle@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/camunda-bpmn-moddle/-/camunda-bpmn-moddle-5.1.2.tgz#766242f5401a863cbc6bb3bd7c43472d6f4856db" @@ -4281,34 +2911,12 @@ can-use-dom@^0.1.0: resolved "https://registry.yarnpkg.com/can-use-dom/-/can-use-dom-0.1.0.tgz#22cc4a34a0abc43950f42c6411024a3f6366b45a" integrity sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ== -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599: - version "1.0.30001606" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001606.tgz#b4d5f67ab0746a3b8b5b6d1f06e39c51beb39a9e" - integrity sha512-LPbwnW4vfpJId225pwjZJOgX1m9sGfbw/RKJvw/t0QhYOOaTXHvkjVGFGPpvwEzufrjvTlsULnVTxdy4/6cqkg== +caniuse-lite@^1.0.30001587: + version "1.0.30001610" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz#2f44ed6e21d359e914271ae35b68903632628ccf" + integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA== -case-sensitive-paths-webpack-plugin@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" - integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== - -"chainsaw@>=0.0.7 <0.1": - version "0.0.9" - resolved "https://registry.yarnpkg.com/chainsaw/-/chainsaw-0.0.9.tgz#11a05102d1c4c785b6d0415d336d5a3a1612913e" - integrity sha512-nG8PYH+/4xB+8zkV4G844EtfvZ5tTiLFoX3dZ4nhF4t3OCKIb9UvaFyNmeZO2zOSmRWzBoTD+napN6hiL+EgcA== - dependencies: - traverse ">=0.3.0 <0.4" - -chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -4317,15 +2925,7 @@ chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -4333,16 +2933,6 @@ chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -char-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-2.0.1.tgz#6dafdb25f9d3349914079f010ba8d0e6ff9cd01e" - integrity sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw== - character-entities-legacy@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" @@ -4358,12 +2948,7 @@ character-reference-invalid@^1.0.0: resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== -check-types@^11.2.3: - version "11.2.3" - resolved "https://registry.yarnpkg.com/check-types/-/check-types-11.2.3.tgz#1ffdf68faae4e941fce252840b1787b8edc93b71" - integrity sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg== - -chokidar@^3.4.2, chokidar@^3.5.3: +chokidar@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -4383,16 +2968,6 @@ chrome-trace-event@^1.0.2: resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - class-transformer@0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/class-transformer/-/class-transformer-0.5.1.tgz#24147d5dffd2a6cea930a3250a677addf96ab336" @@ -4419,21 +2994,21 @@ clean-css@^5.2.2: dependencies: source-map "~0.6.0" -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" clsx@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188" integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA== -clsx@^1.0.4, clsx@^1.1.1, clsx@^1.2.1: +clsx@^1.0.4, clsx@^1.1.1: version "1.2.1" resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== @@ -4443,25 +3018,6 @@ clsx@^2.1.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -4486,12 +3042,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colord@^2.9.1: - version "2.9.3" - resolved "https://registry.yarnpkg.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" - integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== - -colorette@^2.0.10: +colorette@^2.0.10, colorette@^2.0.14: version "2.0.20" resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== @@ -4508,21 +3059,16 @@ comma-separated-tokens@^1.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== +commander@^10.0.1: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" - integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== - commander@^8.3.0: version "8.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" @@ -4533,16 +3079,6 @@ common-path-prefix@^3.0.0: resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0" integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w== -common-tags@^1.8.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - compare-versions@^5.0.1: version "5.0.3" resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-5.0.3.tgz#a9b34fea217472650ef4a2651d905f42c28ebfd7" @@ -4593,11 +3129,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -confusing-browser-globals@^1.0.10, confusing-browser-globals@^1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" - integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== - connect-history-api-fallback@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" @@ -4623,7 +3154,7 @@ contra@1.9.4: atoa "1.0.0" ticky "1.0.1" -convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.5.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== @@ -4643,13 +3174,6 @@ cookie@0.6.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -copy-to-clipboard@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - core-js-compat@^3.31.0, core-js-compat@^3.36.1: version "3.36.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" @@ -4657,17 +3181,12 @@ core-js-compat@^3.31.0, core-js-compat@^3.36.1: dependencies: browserslist "^4.23.0" -core-js-pure@^3.23.3, core-js-pure@^3.30.2: - version "3.36.1" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.36.1.tgz#1461c89e76116528b54eba20a0aff30164087a94" - integrity sha512-NXCvHvSVYSrewP0L5OhltzXeWFJLo2AL2TYnj6iLV3Bw8mM62wAQMNgUCRI6EBu6hVVpbCxmOPlxh1Ikw2PfUA== - core-js@^2.4.0, core-js@^2.5.0: version "2.6.12" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== -core-js@^3.0.1, core-js@^3.19.2, core-js@^3.26.1, core-js@^3.32.0: +core-js@^3.26.1, core-js@^3.32.0: version "3.36.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.36.1.tgz#c97a7160ebd00b2de19e62f4bbd3406ab720e578" integrity sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA== @@ -4677,17 +3196,6 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - cosmiconfig@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" @@ -4722,34 +3230,10 @@ crossvent@1.5.5: dependencies: custom-event "^1.0.0" -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-blank-pseudo@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz#36523b01c12a25d812df343a32c322d2a2324561" - integrity sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ== - dependencies: - postcss-selector-parser "^6.0.9" - -css-declaration-sorter@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71" - integrity sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g== - -css-has-pseudo@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz#57f6be91ca242d5c9020ee3e51bbb5b89fc7af73" - integrity sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw== - dependencies: - postcss-selector-parser "^6.0.9" - -css-loader@^6.5.1: - version "6.11.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" - integrity sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g== +css-loader@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-7.1.1.tgz#de4163c0cb765c03d7957eb9e0a49c7f354948c7" + integrity sha512-OxIR5P2mjO1PSXk44bWuQ8XtMK4dpEqpIyERCx3ewOo3I8EmbcxMPUc5ScLtQfgXtOojoMv57So4V/C02HQLsw== dependencies: icss-utils "^5.1.0" postcss "^8.4.33" @@ -4760,38 +3244,6 @@ css-loader@^6.5.1: postcss-value-parser "^4.2.0" semver "^7.5.4" -css-minimizer-webpack-plugin@^3.2.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" - integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== - dependencies: - cssnano "^5.0.6" - jest-worker "^27.0.2" - postcss "^8.3.5" - schema-utils "^4.0.0" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - -css-prefers-color-scheme@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz#ca8a22e5992c10a5b9d315155e7caee625903349" - integrity sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA== - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - css-select@^4.1.3: version "4.3.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" @@ -4803,22 +3255,6 @@ css-select@^4.1.3: domutils "^2.8.0" nth-check "^2.0.1" -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2, css-tree@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - css-vendor@^2.0.8: version "2.0.8" resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d" @@ -4827,11 +3263,6 @@ css-vendor@^2.0.8: "@babel/runtime" "^7.8.3" is-in-browser "^1.0.2" -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - css-what@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" @@ -4842,89 +3273,11 @@ css.escape@^1.5.1: resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== -cssdb@^7.1.0: - version "7.11.2" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.11.2.tgz#127a2f5b946ee653361a5af5333ea85a39df5ae5" - integrity sha512-lhQ32TFkc1X4eTefGfYPvgovRSzIMofHkigfH8nWtyRL4XJLsRhJFreRvEgKzept7x1rjBuy3J/MurXLaFxW/A== - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^5.2.14: - version "5.2.14" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" - integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== - dependencies: - css-declaration-sorter "^6.3.1" - cssnano-utils "^3.1.0" - postcss-calc "^8.2.3" - postcss-colormin "^5.3.1" - postcss-convert-values "^5.1.3" - postcss-discard-comments "^5.1.2" - postcss-discard-duplicates "^5.1.0" - postcss-discard-empty "^5.1.1" - postcss-discard-overridden "^5.1.0" - postcss-merge-longhand "^5.1.7" - postcss-merge-rules "^5.1.4" - postcss-minify-font-values "^5.1.0" - postcss-minify-gradients "^5.1.1" - postcss-minify-params "^5.1.4" - postcss-minify-selectors "^5.2.1" - postcss-normalize-charset "^5.1.0" - postcss-normalize-display-values "^5.1.0" - postcss-normalize-positions "^5.1.1" - postcss-normalize-repeat-style "^5.1.1" - postcss-normalize-string "^5.1.0" - postcss-normalize-timing-functions "^5.1.0" - postcss-normalize-unicode "^5.1.1" - postcss-normalize-url "^5.1.0" - postcss-normalize-whitespace "^5.1.1" - postcss-ordered-values "^5.1.3" - postcss-reduce-initial "^5.1.2" - postcss-reduce-transforms "^5.1.0" - postcss-svgo "^5.1.0" - postcss-unique-selectors "^5.1.1" - -cssnano-utils@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" - integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== - -cssnano@^5.0.6: - version "5.1.15" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" - integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== - dependencies: - cssnano-preset-default "^5.2.14" - lilconfig "^2.0.3" - yaml "^1.10.2" - -csso@^4.0.2, csso@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" - -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - csstype@3.0.9: version "3.0.9" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" @@ -4950,20 +3303,6 @@ custom-event@^1.0.0: resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" integrity sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg== -damerau-levenshtein@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" - integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== - -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - data-view-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" @@ -4991,83 +3330,48 @@ data-view-byte-offset@^1.0.0: es-errors "^1.3.0" is-data-view "^1.0.1" -date-fns@^2.29.3: - version "2.30.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" - integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== - dependencies: - "@babel/runtime" "^7.21.0" +date-fns@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-3.6.0.tgz#f20ca4fe94f8b754951b24240676e8618c0206bf" + integrity sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww== -debug@2.6.9, debug@^2.6.0: +debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: +debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@~4.3.1, debug@~4.3.2: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - -decimal.js@^10.2.1: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - -deep-equal@^2.0.5: - version "2.2.3" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" - integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== - dependencies: - array-buffer-byte-length "^1.0.0" - call-bind "^1.0.5" - es-get-iterator "^1.1.3" - get-intrinsic "^1.2.2" - is-arguments "^1.1.1" - is-array-buffer "^3.0.2" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.5.1" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.13" - -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" - integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== - deepmerge@^4.2.2: version "4.3.1" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== +default-browser-id@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-5.0.0.tgz#a1d98bf960c15082d8a3fa69e83150ccccc3af26" + integrity sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA== + +default-browser@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-5.2.1.tgz#7b7ba61204ff3e425b556869ae6d3e9d9f1712cf" + integrity sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg== + dependencies: + bundle-name "^4.1.0" + default-browser-id "^5.0.0" + default-gateway@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" @@ -5084,10 +3388,10 @@ define-data-property@^1.0.1, define-data-property@^1.1.4: es-errors "^1.3.0" gopd "^1.0.1" -define-lazy-prop@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" - integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== +define-lazy-prop@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f" + integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg== define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: version "1.2.1" @@ -5113,34 +3417,16 @@ depd@~1.1.2: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== -dequal@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" - integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== - destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - detect-node@^2.0.4: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -detect-port-alt@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - diagram-js-direct-editing@^1.6.3: version "1.8.0" resolved "https://registry.yarnpkg.com/diagram-js-direct-editing/-/diagram-js-direct-editing-1.8.0.tgz#7a178cd9203f262842a3e0023f9644e04a157858" @@ -5214,33 +3500,11 @@ didi@^9.0.0: resolved "https://registry.yarnpkg.com/didi/-/didi-9.0.2.tgz#e49a80aa281b5672e45519ba1980d7fba2e32cfb" integrity sha512-q2+aj+lnJcUweV7A9pdUrwFr4LHVmRPwTmQLtHPFz4aT7IBoryN6Iy+jmFku+oIzr5ebBkvtBCOb87+dJhb7bg== -didyoumean@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" - integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== - -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - diff-sequences@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - dmn-js-decision-table@^10.3.0: version "10.3.0" resolved "https://registry.yarnpkg.com/dmn-js-decision-table/-/dmn-js-decision-table-10.3.0.tgz#57c3fe75ef68dd1911f0ab4c8f75b200e24ae037" @@ -5351,11 +3615,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - dom-autoscroller@^2.3.4: version "2.3.4" resolved "https://registry.yarnpkg.com/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz#1ed25cbde2bdf3bf3eb762937089b20ecef190bd" @@ -5403,14 +3662,6 @@ dom-plane@^1.0.1: dependencies: create-point-cb "^1.0.0" -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - dom-serializer@^1.0.1: version "1.4.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" @@ -5429,23 +3680,11 @@ dom-set@^1.0.1: is-array "^1.0.1" iselement "^1.1.4" -domelementtype@1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - domelementtype@^2.0.1, domelementtype@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" @@ -5458,18 +3697,10 @@ domify@^1.3.1, domify@^1.4.1: resolved "https://registry.yarnpkg.com/domify/-/domify-1.4.2.tgz#2d3e8ac49cae41206cc84be31ca401050ae780a6" integrity sha512-m4yreHcUWHBncGVV7U+yQzc12vIlq0jMrtHZ5mW6dQMiL/7skSYNVX9wqKwOtyO9SGCgevrAFEgOCAHmamHTUA== -dompurify@^3.0.11, dompurify@^3.0.5: - version "3.0.11" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.0.11.tgz#c163f5816eaac6aeef35dae2b77fca0504564efe" - integrity sha512-Fan4uMuyB26gFV3ovPoEoQbxRRPfTu3CvImyZnhGq5fsIEO+gEFLp45ISFt+kQBWsK5ulDdT0oV28jS1UrwQLg== - -domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" +dompurify@^3.0.5, dompurify@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-3.1.0.tgz#8c6b9fe986969a33aa4686bd829cbe8e14dd9445" + integrity sha512-yoU4rhgPKCo+p5UrWWWNKiIq+ToGqmVVhk0PmMYBK4kRsR3/qhemNFL8f6CFmBd4gMwm3F4T7HBoydP5uY07fA== domutils@^2.5.2, domutils@^2.8.0: version "2.8.0" @@ -5488,15 +3719,24 @@ dot-case@^3.0.4: no-case "^3.0.4" tslib "^2.0.3" -dotenv-expand@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== +dotenv-defaults@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/dotenv-defaults/-/dotenv-defaults-2.0.2.tgz#6b3ec2e4319aafb70940abda72d3856770ee77ac" + integrity sha512-iOIzovWfsUHU91L5i8bJce3NYK5JXeAwH50Jh6+ARUdLiiGlYWfGw6UkzsYqaXZH/hjE/eCd/PlfM/qqyK0AMg== + dependencies: + dotenv "^8.2.0" -dotenv@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" - integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== +dotenv-webpack@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-8.1.0.tgz#4d66abc4a30395b46a030ebcd125320232b54873" + integrity sha512-owK1JcsPkIobeqjVrk6h7jPED/W6ZpdFsMPR+5ursB7/SdgDyO+VzAU+szK8C8u3qUhtENyYnj8eyXMR5kkGag== + dependencies: + dotenv-defaults "^2.0.2" + +dotenv@^8.2.0: + version "8.6.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" + integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== downloadjs@^1.4.7: version "1.4.7" @@ -5511,11 +3751,6 @@ dragula@^3.7.3: contra "1.9.4" crossvent "1.5.5" -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" @@ -5526,27 +3761,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -ejs@^3.1.6: - version "3.1.9" - resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.9.tgz#03c9e8777fe12686a9effcef22303ca3d8eeb361" - integrity sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ== - dependencies: - jake "^10.8.5" - electron-to-chromium@^1.4.668: - version "1.4.728" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.728.tgz#ac54d9d1b38752b920ec737a48c83dec2bf45ea1" - integrity sha512-Ud1v7hJJYIqehlUJGqR6PF1Ek8l80zWwxA6nGxigBsGJ9f9M2fciHyrIiNMerSHSH3p+0/Ia7jIlnDkt41h5cw== - -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== - -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== + version "1.4.736" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz#ecb4348f4d5c70fb1e31c347e5bad6b751066416" + integrity sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q== emoji-regex@^8.0.0: version "8.0.0" @@ -5584,7 +3802,7 @@ engine.io-parser@~5.2.1: resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.2.tgz#37b48e2d23116919a3453738c5720455e64e1c49" integrity sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw== -enhanced-resolve@^5.10.0, enhanced-resolve@^5.16.0: +enhanced-resolve@^5.16.0: version "5.16.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz#65ec88778083056cb32487faa9aef82ed0864787" integrity sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA== @@ -5597,6 +3815,11 @@ entities@^2.0.0: resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +envinfo@^7.7.3: + version "7.12.0" + resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.12.0.tgz#b56723b39c2053d67ea5714f026d05d4f5cc7acd" + integrity sha512-Iw9rQJBGpJRd3rwXm9ft/JiGoAZmLxxJZELYDQoPRZ4USVhkKtIcNBPw6U+/K2mBpaqM25JSV6Yl4Az9vO2wJg== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -5604,14 +3827,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error-stack-parser@^2.0.6: - version "2.1.4" - resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" - integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== - dependencies: - stackframe "^1.3.4" - -es-abstract@^1.17.2, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: +es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.1, es-abstract@^1.23.2: version "1.23.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== @@ -5663,11 +3879,6 @@ es-abstract@^1.17.2, es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23 unbox-primitive "^1.0.2" which-typed-array "^1.1.15" -es-array-method-boxes-properly@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" - integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== - es-define-property@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" @@ -5680,22 +3891,7 @@ es-errors@^1.1.0, es-errors@^1.2.1, es-errors@^1.3.0: resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== -es-get-iterator@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-iterator-helpers@^1.0.15, es-iterator-helpers@^1.0.17: +es-iterator-helpers@^1.0.17: version "1.0.18" resolved "https://registry.yarnpkg.com/es-iterator-helpers/-/es-iterator-helpers-1.0.18.tgz#4d3424f46b24df38d064af6fbbc89274e29ea69d" integrity sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA== @@ -5767,202 +3963,12 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - escape-string-regexp@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^1.8.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-airbnb-base@^15.0.0: - version "15.0.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-15.0.0.tgz#6b09add90ac79c2f8d723a2580e07f3925afd236" - integrity sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig== - dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.5" - semver "^6.3.0" - -eslint-config-airbnb-typescript@^17.0.0: - version "17.1.0" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-17.1.0.tgz#fda960eee4a510f092a9a1c139035ac588937ddc" - integrity sha512-GPxI5URre6dDpJ0CtcthSZVBAfI+Uw7un5OYNVxP2EYi3H81Jw701yFP7AU+/vCE7xBtFmjge7kfhhk4+RAiig== - dependencies: - eslint-config-airbnb-base "^15.0.0" - -eslint-config-prettier@^8.3.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== - -eslint-config-react-app@7.0.1, eslint-config-react-app@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz#73ba3929978001c5c86274c017ea57eb5fa644b4" - integrity sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA== - dependencies: - "@babel/core" "^7.16.0" - "@babel/eslint-parser" "^7.16.3" - "@rushstack/eslint-patch" "^1.1.0" - "@typescript-eslint/eslint-plugin" "^5.5.0" - "@typescript-eslint/parser" "^5.5.0" - babel-preset-react-app "^10.0.1" - confusing-browser-globals "^1.0.11" - eslint-plugin-flowtype "^8.0.3" - eslint-plugin-import "^2.25.3" - eslint-plugin-jest "^25.3.0" - eslint-plugin-jsx-a11y "^6.5.1" - eslint-plugin-react "^7.27.1" - eslint-plugin-react-hooks "^4.3.0" - eslint-plugin-testing-library "^5.0.1" - -eslint-import-resolver-node@^0.3.9: - version "0.3.9" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" - integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== - dependencies: - debug "^3.2.7" - is-core-module "^2.13.0" - resolve "^1.22.4" - -eslint-import-resolver-typescript@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.1.tgz#c72634da072eebd04fe73007fa58a62c333c8147" - integrity sha512-U7LUjNJPYjNsHvAUAkt/RU3fcTSpbllA0//35B4eLYTX74frmOepbt7F7J3D1IGtj9k21buOpaqtDd4ZlS/BYQ== - dependencies: - debug "^4.3.4" - enhanced-resolve "^5.10.0" - get-tsconfig "^4.2.0" - globby "^13.1.2" - is-core-module "^2.10.0" - is-glob "^4.0.3" - synckit "^0.8.3" - -eslint-module-utils@^2.8.0: - version "2.8.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz#52f2404300c3bd33deece9d7372fb337cc1d7c34" - integrity sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q== - dependencies: - debug "^3.2.7" - -eslint-plugin-flowtype@^8.0.3: - version "8.0.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz#e1557e37118f24734aa3122e7536a038d34a4912" - integrity sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ== - dependencies: - lodash "^4.17.21" - string-natural-compare "^3.0.1" - -eslint-plugin-import@^2.23.3, eslint-plugin-import@^2.25.3: - version "2.29.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz#d45b37b5ef5901d639c15270d74d46d161150643" - integrity sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw== - dependencies: - array-includes "^3.1.7" - array.prototype.findlastindex "^1.2.3" - array.prototype.flat "^1.3.2" - array.prototype.flatmap "^1.3.2" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.8.0" - hasown "^2.0.0" - is-core-module "^2.13.1" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.fromentries "^2.0.7" - object.groupby "^1.0.1" - object.values "^1.1.7" - semver "^6.3.1" - tsconfig-paths "^3.15.0" - -eslint-plugin-jest@^25.3.0: - version "25.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz#ff4ac97520b53a96187bad9c9814e7d00de09a6a" - integrity sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ== - dependencies: - "@typescript-eslint/experimental-utils" "^5.0.0" - -eslint-plugin-jsx-a11y@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.6.1.tgz#93736fc91b83fdc38cc8d115deedfc3091aef1ff" - integrity sha512-sXgFVNHiWffBq23uiS/JaP6eVR622DqwB4yTzKvGZGcPq6/yZ3WmOZfuBks/vHWo9GaFOqC2ZK4i6+C35knx7Q== - dependencies: - "@babel/runtime" "^7.18.9" - aria-query "^4.2.2" - array-includes "^3.1.5" - ast-types-flow "^0.0.7" - axe-core "^4.4.3" - axobject-query "^2.2.0" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - has "^1.0.3" - jsx-ast-utils "^3.3.2" - language-tags "^1.0.5" - minimatch "^3.1.2" - semver "^6.3.0" - -eslint-plugin-jsx-a11y@^6.5.1: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz#2fa9c701d44fcd722b7c771ec322432857fcbad2" - integrity sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA== - dependencies: - "@babel/runtime" "^7.23.2" - aria-query "^5.3.0" - array-includes "^3.1.7" - array.prototype.flatmap "^1.3.2" - ast-types-flow "^0.0.8" - axe-core "=4.7.0" - axobject-query "^3.2.1" - damerau-levenshtein "^1.0.8" - emoji-regex "^9.2.2" - es-iterator-helpers "^1.0.15" - hasown "^2.0.0" - jsx-ast-utils "^3.3.5" - language-tags "^1.0.9" - minimatch "^3.1.2" - object.entries "^1.1.7" - object.fromentries "^2.0.7" - -eslint-plugin-prettier@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz#651cbb88b1dab98bfd42f017a12fa6b2d993f94b" - integrity sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-react-hooks@4.6.0, eslint-plugin-react-hooks@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3" - integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g== - -eslint-plugin-react@^7.26.1, eslint-plugin-react@^7.27.1: +eslint-plugin-react@^7.34.1: version "7.34.1" resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz#6806b70c97796f5bbfb235a5d3379ece5f4da997" integrity sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw== @@ -5986,14 +3992,7 @@ eslint-plugin-react@^7.26.1, eslint-plugin-react@^7.27.1: semver "^6.3.1" string.prototype.matchall "^4.0.10" -eslint-plugin-testing-library@^5.0.1: - version "5.11.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz#5b46cdae96d4a78918711c0b4792f90088e62d20" - integrity sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw== - dependencies: - "@typescript-eslint/utils" "^5.58.0" - -eslint-scope@5.1.1, eslint-scope@^5.1.1: +eslint-scope@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -6019,18 +4018,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -eslint-webpack-plugin@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" - integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== - dependencies: - "@types/eslint" "^7.29.0 || ^8.4.1" - jest-worker "^28.0.2" - micromatch "^4.0.5" - normalize-path "^3.0.0" - schema-utils "^4.0.0" - -eslint@^8.23.1, eslint@^8.3.0: +eslint@^8.57.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== @@ -6083,16 +4071,6 @@ espree@^9.6.0, espree@^9.6.1: acorn-jsx "^5.3.2" eslint-visitor-keys "^3.4.1" -esprima@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.2.2.tgz#76a0fd66fcfe154fd292667dc264019750b1657b" - integrity sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A== - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" @@ -6107,7 +4085,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -6117,11 +4095,6 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -6167,36 +4140,10 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - -expect@^29.0.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -express@^4.17.3: - version "4.19.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== +express@^4.17.3: + version "4.19.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" + integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== dependencies: accepts "~1.3.8" array-flatten "1.1.1" @@ -6235,37 +4182,31 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-diff@^1.1.2, fast-diff@^1.3.0: +fast-diff@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== -fast-glob@^3.2.9, fast-glob@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - 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.4" - fast-json-patch@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-json-patch/-/fast-json-patch-3.1.1.tgz#85064ea1b1ebf97a3f7ad01e23f9337e72c66947" integrity sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ== -fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: +fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== +fastest-levenshtein@^1.0.12: + version "1.0.16" + resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" + integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== + fastq@^1.6.0: version "1.17.1" resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" @@ -6287,13 +4228,6 @@ faye-websocket@^0.11.3: dependencies: websocket-driver ">=0.5.1" -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - fetch-ponyfill@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz#4266ed48b4e64663a50ab7f7fcb8e76f990526d0" @@ -6316,18 +4250,6 @@ file-loader@^6.2.0: loader-utils "^2.0.0" schema-utils "^3.0.0" -filelist@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5" - integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q== - dependencies: - minimatch "^5.0.1" - -filesize@^8.0.6: - version "8.0.7" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-8.0.7.tgz#695e70d80f4e47012c132d57a059e80c6b580bd8" - integrity sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ== - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -6348,28 +4270,20 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^3.3.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== +find-cache-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-4.0.0.tgz#a30ee0448f81a3990708f6453633c733e2f6eec2" + integrity sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg== dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" + common-path-prefix "^3.0.0" + pkg-dir "^7.0.0" find-root@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0, find-up@^4.1.0: +find-up@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== @@ -6385,6 +4299,14 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" +find-up@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" + integrity sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw== + dependencies: + locate-path "^7.1.0" + path-exists "^5.0.0" + flat-cache@^3.0.4: version "3.2.0" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" @@ -6394,6 +4316,11 @@ flat-cache@^3.0.4: keyv "^4.5.3" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.2.9: version "3.3.1" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" @@ -6419,34 +4346,6 @@ foreground-child@^3.1.0: cross-spawn "^7.0.0" signal-exit "^4.0.1" -fork-ts-checker-webpack-plugin@^6.5.0: - version "6.5.3" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz#eda2eff6e22476a2688d10661688c47f611b37f3" - integrity sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ== - dependencies: - "@babel/code-frame" "^7.8.3" - "@types/json-schema" "^7.0.5" - chalk "^4.1.0" - chokidar "^3.4.2" - cosmiconfig "^6.0.0" - deepmerge "^4.2.2" - fs-extra "^9.0.0" - glob "^7.1.6" - memfs "^3.1.2" - minimatch "^3.0.4" - schema-utils "2.7.0" - semver "^7.3.2" - tapable "^1.0.0" - -form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -6461,21 +4360,7 @@ format@^0.2.0: resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== -formik@^2.2.9: - version "2.4.5" - resolved "https://registry.yarnpkg.com/formik/-/formik-2.4.5.tgz#f899b5b7a6f103a8fabb679823e8fafc7e0ee1b4" - integrity sha512-Gxlht0TD3vVdzMDHwkiNZqJ7Mvg77xQNfmBRrNtvzcHZs72TJppSTDKHpImCMJZwcWPBJ8jSQQ95GJzXFf1nAQ== - dependencies: - "@types/hoist-non-react-statics" "^3.3.1" - deepmerge "^2.1.1" - hoist-non-react-statics "^3.3.0" - lodash "^4.17.21" - lodash-es "^4.17.21" - react-fast-compare "^2.0.1" - tiny-warning "^1.0.2" - tslib "^2.0.0" - -formiojs@^4.14.8: +formiojs@^4.19.1: version "4.19.1" resolved "https://registry.yarnpkg.com/formiojs/-/formiojs-4.19.1.tgz#3658dd4bae267d199fc985c5de6e961f4ea6ab45" integrity sha512-CCgeDYYdnLbExr6Q4NmZZf4BVaUsQ3KFo2y772tM53YH3hIRaiR02PzcGIwmYf1s9Fsq1HOUa9Mc2E25soNxrg== @@ -6523,57 +4408,24 @@ forwarded@0.2.0: resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fraction.js@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" - integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== - -framer-motion@^7.3.5: - version "7.10.3" - resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-7.10.3.tgz#8b23f50bbc1ee8c830c869c5398e457d5272feb5" - integrity sha512-k2ccYeZNSpPg//HTaqrU+4pRq9f9ZpaaN7rr0+Rx5zA4wZLbk547wtDzge2db1sB+1mnJ6r59P4xb+aEIi/W+w== +framer-motion@^11.0.28: + version "11.0.28" + resolved "https://registry.yarnpkg.com/framer-motion/-/framer-motion-11.0.28.tgz#b55a61d12c61a3a9e89084a1ff006b20e367436a" + integrity sha512-j/vNYTCH5MX5sY/3dwMs00z1+qAqKX3iIHF762bwqlU814ooD5dDbuj3pA0LmIT5YqyryCkXEb/q+zRblin0lw== dependencies: - "@motionone/dom" "^10.15.3" - hey-listen "^1.0.8" - tslib "2.4.0" - optionalDependencies: - "@emotion/is-prop-valid" "^0.8.2" + tslib "^2.4.0" fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== -fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-monkey@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.5.tgz#fe450175f0db0d7ea758102e1d84096acb925788" - integrity sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew== - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2, fsevents@~2.3.2: +fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -6608,12 +4460,7 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: +get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== @@ -6624,16 +4471,6 @@ get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@ has-symbols "^1.0.3" hasown "^2.0.0" -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -6648,33 +4485,26 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -get-tsconfig@^4.2.0: - version "4.7.3" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.3.tgz#0498163d98f7b58484dd4906999c0c9d5f103f83" - integrity sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: - resolve-pkg-maps "^1.0.0" + is-glob "^4.0.3" -glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^10.3.10: +glob@^10.3.7: version "10.3.12" resolved "https://registry.yarnpkg.com/glob/-/glob-10.3.12.tgz#3a65c363c2e9998d220338e88a5f6ac97302960b" integrity sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg== @@ -6685,7 +4515,7 @@ glob@^10.3.10: minipass "^7.0.4" path-scurry "^1.10.2" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.3: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -6697,22 +4527,6 @@ glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -global-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -6732,29 +4546,6 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globby@^11.0.4, globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -globby@^13.1.2: - version "13.2.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.2.2.tgz#63b90b1bf68619c2135475cbd4e71e66aa090592" - integrity sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w== - dependencies: - dir-glob "^3.0.1" - fast-glob "^3.3.0" - ignore "^5.2.4" - merge2 "^1.4.1" - slash "^4.0.0" - gopd@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" @@ -6762,7 +4553,7 @@ gopd@^1.0.1: dependencies: get-intrinsic "^1.1.3" -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: +graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6: version "4.2.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== @@ -6772,13 +4563,6 @@ graphemer@^1.4.0: resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - hammerjs@^2.0.1: version "2.0.8" resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" @@ -6789,11 +4573,6 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== -harmony-reflect@^1.4.6: - version "1.6.2" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" - integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -6821,7 +4600,7 @@ has-proto@^1.0.1, has-proto@^1.0.3: resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== -has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3: +has-symbols@^1.0.2, has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== @@ -6833,18 +4612,6 @@ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: dependencies: has-symbols "^1.0.3" -has@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - -"hashish@>=0.0.2 <0.1": - version "0.0.4" - resolved "https://registry.yarnpkg.com/hashish/-/hashish-0.0.4.tgz#6d60bc6ffaf711b6afd60e426d077988014e6554" - integrity sha512-xyD4XgslstNAs72ENaoFvgMwtv8xhiDtC2AtzCG+8yF7W/Knxxm9BX+e2s25mm+HxMKh0rBmXVOEGF3zNImXvA== - dependencies: - traverse ">=0.2.4" - hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" @@ -6878,35 +4645,18 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -hey-listen@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68" - integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q== - highlight.js@^10.4.1, highlight.js@~10.7.0: version "10.7.3" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== -history@^5.0.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/history/-/history-5.3.0.tgz#1548abaa245ba47992f063a0783db91ef201c73b" - integrity sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ== - dependencies: - "@babel/runtime" "^7.7.6" - -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: +hoist-non-react-statics@^3.3.1, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== dependencies: react-is "^16.7.0" -hoopy@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d" - integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== - hpack.js@^2.1.6: version "2.1.6" resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" @@ -6917,23 +4667,11 @@ hpack.js@^2.1.6: readable-stream "^2.0.1" wbuf "^1.1.0" -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - -html-entities@^2.1.0, html-entities@^2.3.2: +html-entities@^2.4.0: version "2.5.2" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f" integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA== -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - html-minifier-terser@^6.0.2: version "6.1.0" resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" @@ -6954,7 +4692,7 @@ html-parse-stringify@^3.0.1: dependencies: void-elements "3.1.0" -html-webpack-plugin@^5.5.0: +html-webpack-plugin@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz#50a8fa6709245608cb00e811eacecb8e0d7b7ea0" integrity sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw== @@ -7006,15 +4744,6 @@ http-parser-js@>=0.5.1: resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - http-proxy-middleware@^2.0.3: version "2.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" @@ -7035,14 +4764,6 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" @@ -7060,12 +4781,12 @@ i18next@22.4.12: dependencies: "@babel/runtime" "^7.20.6" -i18next@^22.4.10: - version "22.5.1" - resolved "https://registry.yarnpkg.com/i18next/-/i18next-22.5.1.tgz#99df0b318741a506000c243429a7352e5f44d424" - integrity sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA== +i18next@^23.11.1: + version "23.11.2" + resolved "https://registry.yarnpkg.com/i18next/-/i18next-23.11.2.tgz#4c0e8192a9ba230fe7dc68b76459816ab601826e" + integrity sha512-qMBm7+qT8jdpmmDw/kQD16VpmkL9BdL+XNAK5MNbNFaf1iQQq35ZbPrSlqmnNPOSUY4m342+c0t0evinF5l7sA== dependencies: - "@babel/runtime" "^7.20.6" + "@babel/runtime" "^7.23.2" iconv-lite@0.4.24: version "0.4.24" @@ -7074,30 +4795,16 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - icss-utils@^5.0.0, icss-utils@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== -idb@^7.0.1, idb@^7.1.1: +idb@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b" integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ== -identity-obj-proxy@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== - dependencies: - harmony-reflect "^1.4.6" - ids@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/ids/-/ids-0.2.2.tgz#c23140dd06f5e5e95b1a5e5e98877ea734965540" @@ -7110,17 +4817,17 @@ ids@^1.0.0: resolved "https://registry.yarnpkg.com/ids/-/ids-1.0.5.tgz#0aeb4777e77e0017a983c9f7b0ca0cccf352afe4" integrity sha512-XQ0yom/4KWTL29sLG+tyuycy7UmeaM/79GRtSJq6IG9cJGIPeBz5kwDCguie3TwxaMNIc3WtPi0cTa1XYHicpw== -ignore@^5.2.0, ignore@^5.2.4: +ignore@^5.2.0: version "5.3.1" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== -immer@^9.0.21, immer@^9.0.7: - version "9.0.21" - resolved "https://registry.yarnpkg.com/immer/-/immer-9.0.21.tgz#1e025ea31a40f24fb064f1fef23e931496330176" - integrity sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA== +immer@^10.0.3: + version "10.0.4" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.4.tgz#09af41477236b99449f9d705369a4daaf780362b" + integrity sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw== -import-fresh@^3.1.0, import-fresh@^3.2.1: +import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -7141,11 +4848,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - indexof@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" @@ -7193,12 +4895,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== -ini@^1.3.5: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -internal-slot@^1.0.4, internal-slot@^1.0.7: +internal-slot@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== @@ -7207,12 +4904,17 @@ internal-slot@^1.0.4, internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" +interpret@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" + integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== -ipaddr.js@^2.0.1: +ipaddr.js@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== @@ -7230,15 +4932,7 @@ is-alphanumerical@^1.0.0: is-alphabetical "^1.0.0" is-decimal "^1.0.0" -is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.2, is-array-buffer@^3.0.4: +is-array-buffer@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== @@ -7290,7 +4984,7 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.10.0, is-core-module@^2.13.0, is-core-module@^2.13.1: +is-core-module@^2.13.0: version "2.13.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== @@ -7316,10 +5010,10 @@ is-decimal@^1.0.0: resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== -is-docker@^2.0.0, is-docker@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" - integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-docker@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" + integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ== is-extglob@^2.1.1: version "2.1.1" @@ -7338,11 +5032,6 @@ is-fullwidth-code-point@^3.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - is-generator-function@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" @@ -7367,21 +5056,28 @@ is-in-browser@^1.0.2, is-in-browser@^1.1.3: resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g== -is-map@^2.0.2, is-map@^2.0.3: +is-inside-container@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" + integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA== + dependencies: + is-docker "^3.0.0" + +is-map@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e" integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw== -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== - is-negative-zero@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== +is-network-error@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.1.0.tgz#d26a760e3770226d11c169052f266a4803d9c997" + integrity sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g== + is-number-object@^1.0.4: version "1.0.7" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" @@ -7394,11 +5090,6 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg== - is-path-inside@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -7409,10 +5100,12 @@ is-plain-obj@^3.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" is-regex@^1.1.4: version "1.1.4" @@ -7422,17 +5115,7 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA== - -is-root@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-set@^2.0.2, is-set@^2.0.3: +is-set@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d" integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg== @@ -7470,11 +5153,6 @@ is-typed-array@^1.1.13: dependencies: which-typed-array "^1.1.14" -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - is-weakmap@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd" @@ -7495,12 +5173,12 @@ is-weakset@^2.0.3: call-bind "^1.0.7" get-intrinsic "^1.2.4" -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== +is-wsl@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-3.1.0.tgz#e1c657e39c10090afcbedec61720f6b924c3cbd2" + integrity sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw== dependencies: - is-docker "^2.0.0" + is-inside-container "^1.0.0" isarray@^2.0.5: version "2.0.5" @@ -7527,47 +5205,10 @@ ismobilejs@^1.1.1: resolved "https://registry.yarnpkg.com/ismobilejs/-/ismobilejs-1.1.1.tgz#c56ca0ae8e52b24ca0f22ba5ef3215a2ddbbaa0e" integrity sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw== -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-report@^3.0.0: +isobject@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.3: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== iterator.prototype@^1.1.2: version "1.1.2" @@ -7589,109 +5230,7 @@ jackspeak@^2.3.6: optionalDependencies: "@pkgjs/parseargs" "^0.11.0" -jake@^10.8.5: - version "10.8.7" - resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.7.tgz#63a32821177940c33f356e0ba44ff9d34e1c7d8f" - integrity sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w== - dependencies: - async "^3.2.3" - chalk "^4.0.2" - filelist "^1.0.4" - minimatch "^3.1.2" - -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^27.0.1, jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - -jest-diff@^29.7.0: +jest-diff@^29.6.4: version "29.7.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== @@ -7701,513 +5240,49 @@ jest-diff@^29.7.0: jest-get-type "^29.6.3" pretty-format "^29.7.0" -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - jest-get-type@^29.6.3: version "29.6.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== +jest-location-mock@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/jest-location-mock/-/jest-location-mock-2.0.0.tgz#f2c79da801c3460d1bd310c363f6a88746fa3f16" + integrity sha512-loakfclgY/y65/2i4s0fcdlZY3hRPfwNnmzRsGFQYQryiaow2DEIGTLXIPI8cAO1Is36xsVLVkIzgvhQ+FXHdw== dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" + "@jedmao/location" "^3.0.0" + jest-diff "^29.6.4" -jest-jasmine2@^27.5.1: +jest-worker@^27.4.5: version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + merge-stream "^2.0.0" + supports-color "^8.0.0" -jest-location-mock@^1.0.9: - version "1.0.10" - resolved "https://registry.yarnpkg.com/jest-location-mock/-/jest-location-mock-1.0.10.tgz#c6744e5a4bd88524c0a02ee989bc141fa7e2cdc7" - integrity sha512-g5u0rDOaj1I/lWuPOOP6xfpY+O958IcOanwPKnHdfWm0l4Y2sdVmwXMPY9fT5s8D9nX44Zl/Ypmk6B88mDoqZQ== - dependencies: - "@jedmao/location" "^3.0.0" - jest-diff "^27.0.1" +js-sha256@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.11.0.tgz#256a921d9292f7fe98905face82e367abaca9576" + integrity sha512-6xNlKayMZvds9h1Y1VWc0fQHQ82BxTXizWPEtEeGvmOUYpBRy4gbWroHLpzowe6xiQhHpelCQiE7HEdznyBL9Q== -jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" +"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" + argparse "^2.0.1" -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^28.1.3" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - -jest-regex-util@^28.0.0: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== - -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - -jest-resolve@^27.4.2, jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - -jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== - dependencies: - "@jest/types" "^28.1.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - -jest-watch-typeahead@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz#b4a6826dfb9c9420da2f7bc900de59dad11266a9" - integrity sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw== - dependencies: - ansi-escapes "^4.3.1" - chalk "^4.0.0" - jest-regex-util "^28.0.0" - jest-watcher "^28.0.0" - slash "^4.0.0" - string-length "^5.0.1" - strip-ansi "^7.0.1" - -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - -jest-watcher@^28.0.0: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== - dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" - string-length "^4.0.1" - -jest-worker@^26.2.1: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest-worker@^27.0.2, jest-worker@^27.4.5, jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest-worker@^28.0.2: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@^27.4.3: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== - dependencies: - "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - -jiti@^1.21.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== jsesc@~0.5.0: version "0.5.0" @@ -8239,11 +5314,6 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - json-source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/json-source-map/-/json-source-map-0.6.1.tgz#e0b1f6f4ce13a9ad57e2ae165a24d06e62c79a0f" @@ -8254,41 +5324,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== -json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.2.0, json5@^2.2.3: +json5@^2.1.2, json5@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonpath@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonpath/-/jsonpath-1.1.1.tgz#0ca1ed8fb65bb3309248cc9d5466d12d5b0b9901" - integrity sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w== - dependencies: - esprima "1.2.2" - static-eval "2.0.2" - underscore "1.12.1" - -jsonpointer@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559" - integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ== - jss-plugin-camel-case@^10.10.0, jss-plugin-camel-case@^10.5.1: version "10.10.0" resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz#27ea159bab67eb4837fa0260204eb7925d4daa1c" @@ -8364,7 +5404,7 @@ jstimezonedetect@^1.0.7: resolved "https://registry.yarnpkg.com/jstimezonedetect/-/jstimezonedetect-1.0.7.tgz#54bc13ff9960a6510288665cc9596244e21bd29d" integrity sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ== -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.2, jsx-ast-utils@^3.3.5: +"jsx-ast-utils@^2.4.1 || ^3.0.0": version "3.3.5" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== @@ -8379,13 +5419,18 @@ jwt-decode@^3.1.2: resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-3.1.2.tgz#3fb319f3675a2df0c2895c8f5e9fa4b67b04ed59" integrity sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A== -keycloak-js@^18.0.0: - version "18.0.1" - resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-18.0.1.tgz#0c6dedfa8bbb266bac1b16a14b032d65c6afd2d2" - integrity sha512-IRXToYpbIrkyfLeNNJly2OjUCf11ncx2Sdsg257NVDwjOYE923osu47w8pfxEVWpTaS14/Y2QjbTHciuBK0RBQ== +jwt-decode@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jwt-decode/-/jwt-decode-4.0.0.tgz#2270352425fd413785b2faf11f6e755c5151bd4b" + integrity sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA== + +keycloak-js@^24.0.2: + version "24.0.2" + resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-24.0.2.tgz#9e7320ed1859b0f493acbc57c64728da2b5eb49b" + integrity sha512-V2N8cSz3NfON98XHp+DCzvrb1WW35JalL5Zphe/uoVWOxcof7v522Yz9Q2O3BqXqXP3V/H9ml6o24BwwtXUTGA== dependencies: - base64-js "^1.5.1" - js-sha256 "^0.9.0" + js-sha256 "^0.11.0" + jwt-decode "^4.0.0" keyv@^4.5.3: version "4.5.4" @@ -8399,29 +5444,7 @@ kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -klona@^2.0.4, klona@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" - integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== - -language-subtag-registry@^0.3.20: - version "0.3.22" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" - integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== - -language-tags@^1.0.5, language-tags@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" - integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== - dependencies: - language-subtag-registry "^0.3.20" - -launch-editor@^2.6.0: +launch-editor@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.1.tgz#f259c9ef95cbc9425620bbbd14b468fcdb4ffe3c" integrity sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw== @@ -8429,11 +5452,6 @@ launch-editor@^2.6.0: picocolors "^1.0.0" shell-quote "^1.8.1" -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -8442,29 +5460,11 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - libphonenumber-js@^1.10.14: version "1.10.60" resolved "https://registry.yarnpkg.com/libphonenumber-js/-/libphonenumber-js-1.10.60.tgz#1160ec5b390d46345032aa52be7ffa7a1950214b" integrity sha512-Ctgq2lXUpEJo5j1762NOzl2xo7z7pqmVWYai0p07LvAkQ32tbPv3wb+tcUeHEiXhKU5buM4H9MXsXo6OlM6C2g== -lilconfig@^2.0.3, lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - -lilconfig@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3" - integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ== - lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -8475,7 +5475,7 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== -loader-utils@^2.0.0, loader-utils@^2.0.4: +loader-utils@^2.0.0: version "2.0.4" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== @@ -8484,19 +5484,6 @@ loader-utils@^2.0.0, loader-utils@^2.0.4: emojis-list "^3.0.0" json5 "^2.1.2" -loader-utils@^3.2.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" - integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - locate-path@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" @@ -8511,6 +5498,13 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +locate-path@^7.1.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.2.0.tgz#69cb1779bd90b35ab1e771e1f2f89a202c2a8a8a" + integrity sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA== + dependencies: + p-locate "^6.0.0" + lodash-es@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" @@ -8531,32 +5525,12 @@ lodash.isequal@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== - -lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4.17.10, lodash@^4.17.20, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8602,70 +5576,22 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -magic-string@^0.25.0, magic-string@^0.25.7: - version "0.25.9" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" - integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== - dependencies: - sourcemap-codec "^1.4.8" - -make-dir@^3.0.2, make-dir@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - matches-selector@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/matches-selector/-/matches-selector-1.2.0.tgz#d1814e7e8f43e69d22ac33c9af727dc884ecf12a" integrity sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA== -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== -memfs@^3.1.2, memfs@^3.4.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" - integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== +memfs@^4.6.0: + version "4.8.2" + resolved "https://registry.yarnpkg.com/memfs/-/memfs-4.8.2.tgz#9bb7c3e43647348451082557f05fb170b7442949" + integrity sha512-j4WKth315edViMBGkHW6NTF0QBjsTrcRDmYNcGsPq+ozMEyCCCIlX2d2mJ5wuh6iHvJ3FevUrr48v58YRqVdYg== dependencies: - fs-monkey "^1.0.4" - -"memoize-one@>=3.1.1 <6": - version "5.2.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== + tslib "^2.0.0" merge-descriptors@1.0.1: version "1.0.1" @@ -8677,17 +5603,12 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== -micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: +micromatch@^4.0.2: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== @@ -8747,38 +5668,18 @@ min-dom@^4.0.2: domify "^1.4.1" min-dash "^4.0.0" -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -mini-css-extract-plugin@^2.4.5: - version "2.8.1" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.1.tgz#75245f3f30ce3a56dbdd478084df6fe475f02dc7" - integrity sha512-/1HDlyFRxWIZPI1ZpgqlZ8jMw/1Dp/dl3P0L1jtZ+zVcHqwPhGwaJwKL00WVgfnBy6PWCde9W65or7IIETImuA== - dependencies: - schema-utils "^4.0.0" - tapable "^2.2.1" - minimalistic-assert@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - minimatch@^9.0.1: version "9.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" @@ -8786,11 +5687,6 @@ minimatch@^9.0.1: dependencies: brace-expansion "^2.0.1" -minimist@^1.2.0, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - "minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.0.4: version "7.0.4" resolved "https://registry.yarnpkg.com/minipass/-/minipass-7.0.4.tgz#dbce03740f50a4786ba994c1fb908844d27b038c" @@ -8801,13 +5697,6 @@ mitt@^1.1.3: resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d" integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw== -mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - moddle-xml@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/moddle-xml/-/moddle-xml-10.1.0.tgz#8c2a1b73c73cc8915182d5374857c43ba482c7a5" @@ -8856,7 +5745,7 @@ moment-timezone@^0.5.40: dependencies: moment "^2.29.4" -moment@^2.29.4: +moment@^2.29.4, moment@^2.30.1: version "2.30.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.30.1.tgz#f8c91c07b7a786e30c59926df530b4eac96974ae" integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== @@ -8876,7 +5765,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -8889,20 +5778,6 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nanoclone@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" - integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== - nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" @@ -8913,11 +5788,6 @@ native-promise-only@^0.8.1: resolved "https://registry.yarnpkg.com/native-promise-only/-/native-promise-only-0.8.1.tgz#20a318c30cb45f71fe7adfbf7b21c99c1472ef11" integrity sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg== -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -8953,11 +5823,6 @@ node-forge@^1: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - node-releases@^2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" @@ -8968,16 +5833,6 @@ normalize-path@^3.0.0, normalize-path@~3.0.0: resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== - -normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" @@ -8985,13 +5840,6 @@ npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - nth-check@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" @@ -8999,34 +5847,16 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -nwsapi@^2.2.0: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -object-assign@^4.0.1, object-assign@^4.1.1: +object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== -object-hash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" - integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== - object-inspect@^1.13.1: version "1.13.1" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== -object-is@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07" - integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -9037,7 +5867,7 @@ object-refs@^0.3.0: resolved "https://registry.yarnpkg.com/object-refs/-/object-refs-0.3.0.tgz#934f4f0fb6b409e78be15fa60f616108aed63786" integrity sha512-eP0ywuoWOaDoiake/6kTJlPJhs+k0qNm4nYRzXLNHj6vh+5M3i9R1epJTdxIPGlhWc4fNRQ7a6XJNCX+/L4FOQ== -object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.5: +object.assign@^4.1.4, object.assign@^4.1.5: version "4.1.5" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== @@ -9047,7 +5877,7 @@ object.assign@^4.1.2, object.assign@^4.1.4, object.assign@^4.1.5: has-symbols "^1.0.3" object-keys "^1.1.1" -object.entries@^1.1.5, object.entries@^1.1.7: +object.entries@^1.1.7: version "1.1.8" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.8.tgz#bffe6f282e01f4d17807204a24f8edd823599c41" integrity sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ== @@ -9066,28 +5896,6 @@ object.fromentries@^2.0.7: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.getownpropertydescriptors@^2.1.0: - version "2.1.8" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923" - integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A== - dependencies: - array.prototype.reduce "^1.0.6" - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - gopd "^1.0.1" - safe-array-concat "^1.1.2" - -object.groupby@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.3.tgz#9b125c36238129f6f7b61954a1e7176148d5002e" - integrity sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - object.hasown@^1.1.3: version "1.1.4" resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.4.tgz#e270ae377e4c120cdcb7656ce66884a6218283dc" @@ -9097,7 +5905,7 @@ object.hasown@^1.1.3: es-abstract "^1.23.2" es-object-atoms "^1.0.0" -object.values@^1.1.0, object.values@^1.1.6, object.values@^1.1.7: +object.values@^1.1.6, object.values@^1.1.7: version "1.2.0" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== @@ -9111,7 +5919,7 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-finished@2.4.1: +on-finished@2.4.1, on-finished@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== @@ -9137,32 +5945,21 @@ onetime@^5.1.2: dependencies: mimic-fn "^2.1.0" -open@^8.0.9, open@^8.4.0: - version "8.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" - integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== +open@^10.0.3: + version "10.1.0" + resolved "https://registry.yarnpkg.com/open/-/open-10.1.0.tgz#a7795e6e5d519abe4286d9937bb24b51122598e1" + integrity sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw== dependencies: - define-lazy-prop "^2.0.0" - is-docker "^2.1.1" - is-wsl "^2.2.0" + default-browser "^5.2.1" + define-lazy-prop "^3.0.0" + is-inside-container "^1.0.0" + is-wsl "^3.1.0" opencollective-postinstall@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.3: version "0.9.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" @@ -9175,7 +5972,7 @@ optionator@^0.9.3: prelude-ls "^1.2.1" type-check "^0.4.0" -p-limit@^2.0.0, p-limit@^2.2.0: +p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== @@ -9189,12 +5986,12 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== +p-limit@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" + integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== dependencies: - p-limit "^2.0.0" + yocto-queue "^1.0.0" p-locate@^4.1.0: version "4.1.0" @@ -9210,12 +6007,20 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" -p-retry@^4.5.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" - integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== +p-locate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" + integrity sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw== + dependencies: + p-limit "^4.0.0" + +p-retry@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-6.2.0.tgz#8d6df01af298750009691ce2f9b3ad2d5968f3bd" + integrity sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA== dependencies: - "@types/retry" "0.12.0" + "@types/retry" "0.12.2" + is-network-error "^1.0.0" retry "^0.13.1" p-try@^2.0.0: @@ -9255,7 +6060,7 @@ parse-entities@^2.0.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-json@^5.0.0, parse-json@^5.2.0: +parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -9265,11 +6070,6 @@ parse-json@^5.0.0, parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -9283,16 +6083,16 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - path-exists@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-exists@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" + integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== + path-intersection@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/path-intersection/-/path-intersection-2.2.1.tgz#8476b75fefb7ac402f810d304e0eb0c080c11fe7" @@ -9331,331 +6131,35 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -perfect-scrollbar@^1.5.0: - version "1.5.5" - resolved "https://registry.yarnpkg.com/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz#41a211a2fb52a7191eff301432134ea47052b27f" - integrity sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g== - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3, picomatch@^2.3.1: +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - -pirates@^4.0.1, pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: +pkg-dir@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== dependencies: find-up "^4.0.0" -pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== +pkg-dir@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-7.0.0.tgz#8f0c08d6df4476756c5ff29b3282d0bab7517d11" + integrity sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA== dependencies: - find-up "^3.0.0" + find-up "^6.3.0" possible-typed-array-names@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== -postcss-attribute-case-insensitive@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741" - integrity sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-browser-comments@^4: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz#bcfc86134df5807f5d3c0eefa191d42136b5e72a" - integrity sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg== - -postcss-calc@^8.2.3: - version "8.2.4" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" - integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== - dependencies: - postcss-selector-parser "^6.0.9" - postcss-value-parser "^4.2.0" - -postcss-clamp@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-clamp/-/postcss-clamp-4.1.0.tgz#7263e95abadd8c2ba1bd911b0b5a5c9c93e02363" - integrity sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-functional-notation@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz#21a909e8d7454d3612d1659e471ce4696f28caec" - integrity sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-hex-alpha@^8.0.4: - version "8.0.4" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz#c66e2980f2fbc1a63f5b079663340ce8b55f25a5" - integrity sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-color-rebeccapurple@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz#63fdab91d878ebc4dd4b7c02619a0c3d6a56ced0" - integrity sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-colormin@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" - integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - colord "^2.9.1" - postcss-value-parser "^4.2.0" - -postcss-convert-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" - integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-custom-media@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz#c8f9637edf45fef761b014c024cee013f80529ea" - integrity sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-properties@^12.1.10: - version "12.1.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz#d14bb9b3989ac4d40aaa0e110b43be67ac7845cf" - integrity sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-custom-selectors@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz#1ab4684d65f30fed175520f82d223db0337239d9" - integrity sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg== - dependencies: - postcss-selector-parser "^6.0.4" - -postcss-dir-pseudo-class@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz#2bf31de5de76added44e0a25ecf60ae9f7c7c26c" - integrity sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-discard-comments@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" - integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== - -postcss-discard-duplicates@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" - integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== - -postcss-discard-empty@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" - integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== - -postcss-discard-overridden@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" - integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== - -postcss-double-position-gradients@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz#b96318fdb477be95997e86edd29c6e3557a49b91" - integrity sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-env-function@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.6.tgz#7b2d24c812f540ed6eda4c81f6090416722a8e7a" - integrity sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-flexbugs-fixes@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz#2028e145313074fc9abe276cb7ca14e5401eb49d" - integrity sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ== - -postcss-focus-visible@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz#50c9ea9afa0ee657fb75635fabad25e18d76bf9e" - integrity sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-focus-within@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz#5b1d2ec603195f3344b716c0b75f61e44e8d2e20" - integrity sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ== - dependencies: - postcss-selector-parser "^6.0.9" - -postcss-font-variant@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" - integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== - -postcss-gap-properties@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz#f7e3cddcf73ee19e94ccf7cb77773f9560aa2fff" - integrity sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg== - -postcss-image-set-function@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz#08353bd756f1cbfb3b6e93182c7829879114481f" - integrity sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-import@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" - integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== - dependencies: - postcss-value-parser "^4.0.0" - read-cache "^1.0.0" - resolve "^1.1.7" - -postcss-initial@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" - integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== - -postcss-js@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" - integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== - dependencies: - camelcase-css "^2.0.1" - -postcss-lab-function@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz#6fe4c015102ff7cd27d1bd5385582f67ebdbdc98" - integrity sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w== - dependencies: - "@csstools/postcss-progressive-custom-properties" "^1.1.0" - postcss-value-parser "^4.2.0" - -postcss-load-config@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" - integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== - dependencies: - lilconfig "^3.0.0" - yaml "^2.3.4" - -postcss-loader@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" - integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== - dependencies: - cosmiconfig "^7.0.0" - klona "^2.0.5" - semver "^7.3.5" - -postcss-logical@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.4.tgz#ec75b1ee54421acc04d5921576b7d8db6b0e6f73" - integrity sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g== - -postcss-media-minmax@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" - integrity sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ== - -postcss-merge-longhand@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" - integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== - dependencies: - postcss-value-parser "^4.2.0" - stylehacks "^5.1.1" - -postcss-merge-rules@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" - integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - cssnano-utils "^3.1.0" - postcss-selector-parser "^6.0.5" - -postcss-minify-font-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" - integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-minify-gradients@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" - integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== - dependencies: - colord "^2.9.1" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-params@^5.1.4: - version "5.1.4" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" - integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== - dependencies: - browserslist "^4.21.4" - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-minify-selectors@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" - integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== - dependencies: - postcss-selector-parser "^6.0.5" - postcss-modules-extract-imports@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz#b4497cb85a9c0c4b5aabeb759bb25e8d89f15002" @@ -9684,215 +6188,7 @@ postcss-modules-values@^4.0.0: dependencies: icss-utils "^5.0.0" -postcss-nested@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" - integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== - dependencies: - postcss-selector-parser "^6.0.11" - -postcss-nesting@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-10.2.0.tgz#0b12ce0db8edfd2d8ae0aaf86427370b898890be" - integrity sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA== - dependencies: - "@csstools/selector-specificity" "^2.0.0" - postcss-selector-parser "^6.0.10" - -postcss-normalize-charset@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" - integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== - -postcss-normalize-display-values@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" - integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-positions@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" - integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-repeat-style@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" - integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-string@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" - integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-timing-functions@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" - integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize-unicode@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" - integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== - dependencies: - browserslist "^4.21.4" - postcss-value-parser "^4.2.0" - -postcss-normalize-url@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" - integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== - dependencies: - normalize-url "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-normalize-whitespace@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" - integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-normalize@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-10.0.1.tgz#464692676b52792a06b06880a176279216540dd7" - integrity sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA== - dependencies: - "@csstools/normalize.css" "*" - postcss-browser-comments "^4" - sanitize.css "*" - -postcss-opacity-percentage@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz#5b89b35551a556e20c5d23eb5260fbfcf5245da6" - integrity sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A== - -postcss-ordered-values@^5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" - integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== - dependencies: - cssnano-utils "^3.1.0" - postcss-value-parser "^4.2.0" - -postcss-overflow-shorthand@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz#7ed6486fec44b76f0eab15aa4866cda5d55d893e" - integrity sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-page-break@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" - integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== - -postcss-place@^7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.5.tgz#95dbf85fd9656a3a6e60e832b5809914236986c4" - integrity sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-preset-env@^7.0.1: - version "7.8.3" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz#2a50f5e612c3149cc7af75634e202a5b2ad4f1e2" - integrity sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag== - dependencies: - "@csstools/postcss-cascade-layers" "^1.1.1" - "@csstools/postcss-color-function" "^1.1.1" - "@csstools/postcss-font-format-keywords" "^1.0.1" - "@csstools/postcss-hwb-function" "^1.0.2" - "@csstools/postcss-ic-unit" "^1.0.1" - "@csstools/postcss-is-pseudo-class" "^2.0.7" - "@csstools/postcss-nested-calc" "^1.0.0" - "@csstools/postcss-normalize-display-values" "^1.0.1" - "@csstools/postcss-oklab-function" "^1.1.1" - "@csstools/postcss-progressive-custom-properties" "^1.3.0" - "@csstools/postcss-stepped-value-functions" "^1.0.1" - "@csstools/postcss-text-decoration-shorthand" "^1.0.0" - "@csstools/postcss-trigonometric-functions" "^1.0.2" - "@csstools/postcss-unset-value" "^1.0.2" - autoprefixer "^10.4.13" - browserslist "^4.21.4" - css-blank-pseudo "^3.0.3" - css-has-pseudo "^3.0.4" - css-prefers-color-scheme "^6.0.3" - cssdb "^7.1.0" - postcss-attribute-case-insensitive "^5.0.2" - postcss-clamp "^4.1.0" - postcss-color-functional-notation "^4.2.4" - postcss-color-hex-alpha "^8.0.4" - postcss-color-rebeccapurple "^7.1.1" - postcss-custom-media "^8.0.2" - postcss-custom-properties "^12.1.10" - postcss-custom-selectors "^6.0.3" - postcss-dir-pseudo-class "^6.0.5" - postcss-double-position-gradients "^3.1.2" - postcss-env-function "^4.0.6" - postcss-focus-visible "^6.0.4" - postcss-focus-within "^5.0.4" - postcss-font-variant "^5.0.0" - postcss-gap-properties "^3.0.5" - postcss-image-set-function "^4.0.7" - postcss-initial "^4.0.1" - postcss-lab-function "^4.2.1" - postcss-logical "^5.0.4" - postcss-media-minmax "^5.0.0" - postcss-nesting "^10.2.0" - postcss-opacity-percentage "^1.1.2" - postcss-overflow-shorthand "^3.0.4" - postcss-page-break "^3.0.4" - postcss-place "^7.0.5" - postcss-pseudo-class-any-link "^7.1.6" - postcss-replace-overflow-wrap "^4.0.0" - postcss-selector-not "^6.0.1" - postcss-value-parser "^4.2.0" - -postcss-pseudo-class-any-link@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz#2693b221902da772c278def85a4d9a64b6e617ab" - integrity sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-reduce-initial@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" - integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== - dependencies: - browserslist "^4.21.4" - caniuse-api "^3.0.0" - -postcss-reduce-transforms@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" - integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== - dependencies: - postcss-value-parser "^4.2.0" - -postcss-replace-overflow-wrap@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" - integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== - -postcss-selector-not@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz#8f0a709bf7d4b45222793fc34409be407537556d" - integrity sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ== - dependencies: - postcss-selector-parser "^6.0.10" - -postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.16" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04" integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw== @@ -9900,35 +6196,12 @@ postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-select cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-svgo@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" - integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== - dependencies: - postcss-value-parser "^4.2.0" - svgo "^2.7.0" - -postcss-unique-selectors@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" - integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== - dependencies: - postcss-selector-parser "^6.0.5" - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@^7.0.35: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.3.5, postcss@^8.4.23, postcss@^8.4.33, postcss@^8.4.4: +postcss@^8.4.33: version "8.4.38" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== @@ -9942,27 +6215,10 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" - integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== - -pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: - version "5.6.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" - integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== +prettier@3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== pretty-error@^4.0.0: version "4.0.0" @@ -9972,26 +6228,7 @@ pretty-error@^4.0.0: lodash "^4.17.20" renderkid "^3.0.0" -pretty-format@^27.0.2, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^29.0.0, pretty-format@^29.7.0: +pretty-format@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== @@ -10015,22 +6252,7 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -promise@^8.1.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" - integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1, prompts@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.5.4, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -10039,11 +6261,6 @@ prop-types@^15.5.4, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, object-assign "^4.1.1" react-is "^16.13.1" -property-expr@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.6.tgz#f77bc00d5928a6c748414ad12882e83f24aec1e8" - integrity sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA== - property-information@^5.0.0: version "5.6.0" resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" @@ -10064,21 +6281,11 @@ proxy-from-env@^1.1.0: resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== - qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -10086,11 +6293,6 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -10115,13 +6317,6 @@ quill@^2.0.0-dev.3: parchment "3.0.0-rc.1" quill-delta "^5.1.0" -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - randombytes@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" @@ -10144,7 +6339,7 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" -rc-util@^5.9.4: +rc-util@^5.31.1: version "5.39.1" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.39.1.tgz#7bca4fb55e20add0eef5c23166cd9f9e5f51a8a1" integrity sha512-OW/ERynNDgNr4y0oiFmtes3rbEamXw7GHGbkbNd9iRr7kgT03T6fT0b9WpJ3mbxKhyOcAHnGcIoh5u/cjrC2OQ== @@ -10152,64 +6347,7 @@ rc-util@^5.9.4: "@babel/runtime" "^7.18.3" react-is "^18.2.0" -react-apexcharts@^1.3.9: - version "1.4.1" - resolved "https://registry.yarnpkg.com/react-apexcharts/-/react-apexcharts-1.4.1.tgz#95ab31e4d2201308f59f3d2a4b65d10d9d0ea4bb" - integrity sha512-G14nVaD64Bnbgy8tYxkjuXEUp/7h30Q0U33xc3AwtGFijJB9nHqOt1a6eG0WBn055RgRg+NwqbKGtqPxy15d0Q== - dependencies: - prop-types "^15.8.1" - -react-app-polyfill@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz#95221e0a9bd259e5ca6b177c7bb1cb6768f68fd7" - integrity sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w== - dependencies: - core-js "^3.19.2" - object-assign "^4.1.1" - promise "^8.1.0" - raf "^3.4.1" - regenerator-runtime "^0.13.9" - whatwg-fetch "^3.6.2" - -react-copy-to-clipboard@^5.0.4: - version "5.1.0" - resolved "https://registry.yarnpkg.com/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz#09aae5ec4c62750ccb2e6421a58725eabc41255c" - integrity sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A== - dependencies: - copy-to-clipboard "^3.3.1" - prop-types "^15.8.1" - -react-dev-utils@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-12.0.1.tgz#ba92edb4a1f379bd46ccd6bcd4e7bc398df33e73" - integrity sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ== - dependencies: - "@babel/code-frame" "^7.16.0" - address "^1.1.2" - browserslist "^4.18.1" - chalk "^4.1.2" - cross-spawn "^7.0.3" - detect-port-alt "^1.1.6" - escape-string-regexp "^4.0.0" - filesize "^8.0.6" - find-up "^5.0.0" - fork-ts-checker-webpack-plugin "^6.5.0" - global-modules "^2.0.0" - globby "^11.0.4" - gzip-size "^6.0.0" - immer "^9.0.7" - is-root "^2.1.0" - loader-utils "^3.2.0" - open "^8.4.0" - pkg-up "^3.1.0" - prompts "^2.4.2" - react-error-overlay "^6.0.11" - recursive-readdir "^2.2.2" - shell-quote "^1.7.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -react-device-detect@^2.1.2: +react-device-detect@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/react-device-detect/-/react-device-detect-2.2.3.tgz#97a7ae767cdd004e7c3578260f48cf70c036e7ca" integrity sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw== @@ -10224,35 +6362,17 @@ react-dom@^18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" -react-draggable@^4.4.4: - version "4.4.6" - resolved "https://registry.yarnpkg.com/react-draggable/-/react-draggable-4.4.6.tgz#63343ee945770881ca1256a5b6fa5c9f5983fe1e" - integrity sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw== - dependencies: - clsx "^1.1.1" - prop-types "^15.8.1" - -react-error-overlay@^6.0.11: - version "6.0.11" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" - integrity sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg== - -react-fast-compare@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/react-fast-compare/-/react-fast-compare-2.0.4.tgz#e84b4d455b0fec113e0402c329352715196f81f9" - integrity sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw== - react-files@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/react-files/-/react-files-3.0.0.tgz#d2284e33106cc5ddcc547e8633cad0b633c017b2" integrity sha512-/Zz7S98vZFYxHw3RVSZcf3dD+xO714ZQd/jEhIp8q+MofBgydXWlHdw05TA4jradL7XpZFPvJaIvM6Z6I5nIHw== -react-i18next@^12.2.0: - version "12.3.1" - resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-12.3.1.tgz#30134a41a2a71c61dc69c6383504929aed1c99e7" - integrity sha512-5v8E2XjZDFzK7K87eSwC7AJcAkcLt5xYZ4+yTPDAW1i7C93oOY1dnr4BaQM7un4Hm+GmghuiPvevWwlca5PwDA== +react-i18next@^14.1.0: + version "14.1.0" + resolved "https://registry.yarnpkg.com/react-i18next/-/react-i18next-14.1.0.tgz#44da74fbffd416f5d0c5307ef31735cf10cc91d9" + integrity sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ== dependencies: - "@babel/runtime" "^7.20.6" + "@babel/runtime" "^7.23.9" html-parse-stringify "^3.0.1" react-infinite-scroll-component@^6.0.0: @@ -10267,7 +6387,7 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -"react-is@^16.8.0 || ^17.0.0", react-is@^17.0.1: +"react-is@^16.8.0 || ^17.0.0": version "17.0.2" resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== @@ -10282,39 +6402,15 @@ react-lifecycles-compat@^3.0.4: resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== -react-number-format@^5.0.0-beta.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-5.3.4.tgz#4780522ba1fdaff20aaa0732716490c6758b8557" - integrity sha512-2hHN5mbLuCDUx19bv0Q8wet67QqYK6xmtLQeY5xx+h7UXiMmRtaCwqko4mMPoKXLc6xAzwRrutg8XbTRlsfjRg== - dependencies: - prop-types "^15.7.2" - -react-perfect-scrollbar@^1.5.8: - version "1.5.8" - resolved "https://registry.yarnpkg.com/react-perfect-scrollbar/-/react-perfect-scrollbar-1.5.8.tgz#380959387a325c5c9d0268afc08b3f73ed5b3078" - integrity sha512-bQ46m70gp/HJtiBOF3gRzBISSZn8FFGNxznTdmTG8AAwpxG1bJCyn7shrgjEvGSQ5FJEafVEiosY+ccER11OSA== +react-redux@^9.1.0: + version "9.1.1" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-9.1.1.tgz#852ec13084bd7375e26db697d2fc9027ffada204" + integrity sha512-5ynfGDzxxsoV73+4czQM56qF43vsmgJsO22rmAvU5tZT2z5Xow/A2uhhxwXuGTxgdReF3zcp7A80gma2onRs1A== dependencies: - perfect-scrollbar "^1.5.0" - prop-types "^15.6.1" - -react-redux@^8.0.2: - version "8.1.3" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.3.tgz#4fdc0462d0acb59af29a13c27ffef6f49ab4df46" - integrity sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw== - dependencies: - "@babel/runtime" "^7.12.1" - "@types/hoist-non-react-statics" "^3.3.1" "@types/use-sync-external-store" "^0.0.3" - hoist-non-react-statics "^3.3.2" - react-is "^18.0.0" use-sync-external-store "^1.0.0" -react-refresh@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046" - integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A== - -react-router-dom@^6.2.1: +react-router-dom@^6.22.3: version "6.22.3" resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.3.tgz#9781415667fd1361a475146c5826d9f16752a691" integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw== @@ -10322,68 +6418,13 @@ react-router-dom@^6.2.1: "@remix-run/router" "1.15.3" react-router "6.22.3" -react-router@6.22.3, react-router@^6.2.1: +react-router@6.22.3: version "6.22.3" resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.3.tgz#9d9142f35e08be08c736a2082db5f0c9540a885e" integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ== dependencies: "@remix-run/router" "1.15.3" -react-scripts@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-5.0.1.tgz#6285dbd65a8ba6e49ca8d651ce30645a6d980003" - integrity sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ== - dependencies: - "@babel/core" "^7.16.0" - "@pmmmwh/react-refresh-webpack-plugin" "^0.5.3" - "@svgr/webpack" "^5.5.0" - babel-jest "^27.4.2" - babel-loader "^8.2.3" - babel-plugin-named-asset-import "^0.3.8" - babel-preset-react-app "^10.0.1" - bfj "^7.0.2" - browserslist "^4.18.1" - camelcase "^6.2.1" - case-sensitive-paths-webpack-plugin "^2.4.0" - css-loader "^6.5.1" - css-minimizer-webpack-plugin "^3.2.0" - dotenv "^10.0.0" - dotenv-expand "^5.1.0" - eslint "^8.3.0" - eslint-config-react-app "^7.0.1" - eslint-webpack-plugin "^3.1.1" - file-loader "^6.2.0" - fs-extra "^10.0.0" - html-webpack-plugin "^5.5.0" - identity-obj-proxy "^3.0.0" - jest "^27.4.3" - jest-resolve "^27.4.2" - jest-watch-typeahead "^1.0.0" - mini-css-extract-plugin "^2.4.5" - postcss "^8.4.4" - postcss-flexbugs-fixes "^5.0.2" - postcss-loader "^6.2.1" - postcss-normalize "^10.0.1" - postcss-preset-env "^7.0.1" - prompts "^2.4.2" - react-app-polyfill "^3.0.0" - react-dev-utils "^12.0.1" - react-refresh "^0.11.0" - resolve "^1.20.0" - resolve-url-loader "^4.0.0" - sass-loader "^12.3.0" - semver "^7.3.5" - source-map-loader "^3.0.0" - style-loader "^3.3.1" - tailwindcss "^3.0.2" - terser-webpack-plugin "^5.2.5" - webpack "^5.64.4" - webpack-dev-server "^4.6.0" - webpack-manifest-plugin "^4.0.2" - workbox-webpack-plugin "^6.4.1" - optionalDependencies: - fsevents "^2.3.2" - react-split-pane@^0.1.92: version "0.1.92" resolved "https://registry.yarnpkg.com/react-split-pane/-/react-split-pane-0.1.92.tgz#68242f72138aed95dd5910eeb9d99822c4fc3a41" @@ -10400,7 +6441,7 @@ react-style-proptype@^3.2.2: dependencies: prop-types "^15.5.4" -react-syntax-highlighter@^15.4.5: +react-syntax-highlighter@^15.5.0: version "15.5.0" resolved "https://registry.yarnpkg.com/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz#4b3eccc2325fa2ec8eff1e2d6c18fa4a9e07ab20" integrity sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg== @@ -10430,14 +6471,6 @@ react-transition-group@^4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -react-window@^1.8.6: - version "1.8.10" - resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.10.tgz#9e6b08548316814b443f7002b1cf8fd3a1bdde03" - integrity sha512-Y0Cx+dnU6NLa5/EvoHukUD0BklJ8qITCtVEPY1C/nL8wwoZ0b5aEw8Ff1dOVHw7fCzMt55XfJDd8S8W8LCaUCg== - dependencies: - "@babel/runtime" "^7.0.0" - memoize-one ">=3.1.1 <6" - react@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" @@ -10445,13 +6478,6 @@ react@^18.2.0: dependencies: loose-envify "^1.1.0" -read-cache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" - integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== - dependencies: - pify "^2.3.0" - readable-stream@^2.0.1: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" @@ -10481,33 +6507,30 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -recursive-readdir@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" - integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== - dependencies: - minimatch "^3.0.5" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== +rechoir@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" + integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" + resolve "^1.20.0" -redux-thunk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.4.2.tgz#b9d05d11994b99f7a91ea223e8b04cf0afa5ef3b" - integrity sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q== +redux-thunk@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-3.1.0.tgz#94aa6e04977c30e14e892eae84978c1af6058ff3" + integrity sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw== -redux@^4.1.2, redux@^4.2.0, redux@^4.2.1: +redux@^4.2.0: version "4.2.1" resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== dependencies: "@babel/runtime" "^7.9.2" +redux@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/redux/-/redux-5.0.1.tgz#97fa26881ce5746500125585d5642c77b6e9447b" + integrity sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w== + reflect.getprototypeof@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz#3ab04c32a8390b770712b7a8633972702d278859" @@ -10552,11 +6575,6 @@ regenerator-runtime@^0.11.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.9: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - regenerator-runtime@^0.14.0: version "0.14.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" @@ -10569,12 +6587,7 @@ regenerator-transform@^0.15.2: dependencies: "@babel/runtime" "^7.8.4" -regex-parser@^2.2.11: - version "2.3.0" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.3.0.tgz#4bb61461b1a19b8b913f3960364bb57887f920ee" - integrity sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg== - -regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: +regexp.prototype.flags@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== @@ -10608,13 +6621,6 @@ relateurl@^0.2.7: resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== -remove@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/remove/-/remove-0.1.5.tgz#095ffd827d65c9f41ad97d33e416a75811079955" - integrity sha512-AJMA9oWvJzdTjwIGwSQZsjGQiRx73YTmiOWmfCp1fpLa/D4n7jKcpoA+CZiVLJqKcEKUuh1Suq80c5wF+L/qVQ== - dependencies: - seq ">= 0.3.5" - renderkid@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" @@ -10626,11 +6632,6 @@ renderkid@^3.0.0: lodash "^4.17.21" strip-ansi "^6.0.1" -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" @@ -10641,11 +6642,16 @@ requires-port@^1.0.0: resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== -reselect@^4.1.6, reselect@^4.1.8: +reselect@^4.1.8: version "4.1.8" resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== +reselect@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/reselect/-/reselect-5.1.0.tgz#c479139ab9dd91be4d9c764a7f3868210ef8cd21" + integrity sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg== + resize-observer-polyfill@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" @@ -10668,28 +6674,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-pkg-maps@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" - integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== - -resolve-url-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== - dependencies: - adjust-sourcemap-loader "^4.0.0" - convert-source-map "^1.7.0" - loader-utils "^2.0.0" - postcss "^7.0.35" - source-map "0.6.1" - -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== - -resolve@^1.1.7, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.2, resolve@^1.22.4: +resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -10717,29 +6702,24 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" -rollup-plugin-terser@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" - integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== - dependencies: - "@babel/code-frame" "^7.10.4" - jest-worker "^26.2.1" - serialize-javascript "^4.0.0" - terser "^5.0.0" - -rollup@^2.43.1: - version "2.79.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" - integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== - optionalDependencies: - fsevents "~2.3.2" +rimraf@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-5.0.5.tgz#9be65d2d6e683447d2e9013da2bf451139a61ccf" + integrity sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A== + dependencies: + glob "^10.3.7" + +run-applescript@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-7.0.0.tgz#e5a553c2bffd620e169d276c1cd8f1b64778fbeb" + integrity sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A== run-parallel@^1.1.9: version "1.2.0" @@ -10777,41 +6757,16 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sanitize.css@*: - version "13.0.0" - resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-13.0.0.tgz#2675553974b27964c75562ade3bd85d79879f173" - integrity sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA== - -sass-loader@^12.3.0: - version "12.6.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.6.0.tgz#5148362c8e2cdd4b950f3c63ac5d16dbfed37bcb" - integrity sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA== - dependencies: - klona "^2.0.4" - neo-async "^2.6.2" - -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - saxen@^8.1.2: version "8.1.2" resolved "https://registry.yarnpkg.com/saxen/-/saxen-8.1.2.tgz#e677b32afe93667c9d939d3f3de02e09df108e54" integrity sha512-xUOiiFbc3Ow7p8KMxwsGICPx46ZQvy3+qfNVhrkwfz3Vvq45eGt98Ft5IQaA1R/7Tb5B5MKh9fUR9x3c3nDTxw== -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -10819,24 +6774,6 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -schema-utils@2.7.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" @@ -10846,7 +6783,7 @@ schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: ajv "^6.12.5" ajv-keywords "^3.5.2" -schema-utils@^4.0.0: +schema-utils@^4.0.0, schema-utils@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== @@ -10882,7 +6819,7 @@ selection-update@^0.1.2: resolved "https://registry.yarnpkg.com/selection-update/-/selection-update-0.1.2.tgz#803a044dcc6edab5a3ae648f5f0357e89ad66b96" integrity sha512-4jzoJNh7VT2s2tvm/kUSskSw7pD0BVcrrGccbfOMK+3AXLBPz6nIy1yo+pbXgvNoTNII96Pq92+sAY+rF0LUAA== -selfsigned@^2.1.1: +selfsigned@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.4.1.tgz#560d90565442a3ed35b674034cec4e95dceb4ae0" integrity sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q== @@ -10890,12 +6827,12 @@ selfsigned@^2.1.1: "@types/node-forge" "^1.3.0" node-forge "^1" -semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: +semver@^6.3.0, semver@^6.3.1: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.2, semver@^7.3.5, semver@^7.3.7, semver@^7.5.3, semver@^7.5.4: +semver@^7.5.4: version "7.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d" integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== @@ -10921,22 +6858,7 @@ send@0.18.0: range-parser "~1.2.1" statuses "2.0.1" -"seq@>= 0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/seq/-/seq-0.3.5.tgz#ae02af3a424793d8ccbf212d69174e0c54dffe38" - integrity sha512-sisY2Ln1fj43KBkRtXkesnRHYNdswIkIibvNe/0UKm2GZxjMbqmccpiatoKr/k2qX5VKiLU8xm+tz/74LAho4g== - dependencies: - chainsaw ">=0.0.7 <0.1" - hashish ">=0.0.2 <0.1" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: +serialize-javascript@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== @@ -10998,6 +6920,13 @@ setprototypeof@1.2.0: resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -11010,7 +6939,7 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shell-quote@^1.7.3, shell-quote@^1.8.1: +shell-quote@^1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== @@ -11025,7 +6954,7 @@ side-channel@^1.0.4, side-channel@^1.0.6: get-intrinsic "^1.2.4" object-inspect "^1.13.1" -signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.3: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -11040,40 +6969,30 @@ signature_pad@^4.1.4: resolved "https://registry.yarnpkg.com/signature_pad/-/signature_pad-4.2.0.tgz#7513cee8cb8afd6594d871c61cf4d61420601422" integrity sha512-YLWysmaUBaC5wosAKkgbX7XI+LBv2w5L0QUcI6Jc4moHYzv9BUBJtAyNLpWzHjtjKTeWOH6bfP4a4pzf0UinfQ== -simplebar-react@^2.3.6: - version "2.4.3" - resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-2.4.3.tgz#79c830711c23a5ae457ef73420f5752d4a1b3133" - integrity sha512-Ep8gqAUZAS5IC2lT5RE4t1ZFUIVACqbrSRQvFV9a6NbVUzXzOMnc4P82Hl8Ak77AnPQvmgUwZS7aUKLyBoMAcg== - dependencies: - prop-types "^15.6.1" - simplebar "^5.3.9" - -simplebar@^5.3.5, simplebar@^5.3.9: - version "5.3.9" - resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-5.3.9.tgz#168ea0eb6d52f29f03960e40d9b69a1b28cf6318" - integrity sha512-1vIIpjDvY9sVH14e0LGeiCiTFU3ILqAghzO6OI9axeG+mvU/vMSrvXeAXkBolqFFz3XYaY8n5ahH9MeP3sp2Ag== +simplebar-core@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/simplebar-core/-/simplebar-core-1.2.4.tgz#1fe965716a426f812c1a112ce28d98b9a643797b" + integrity sha512-P+Sqshef4fq3++gQ82TgNYcgl3qZFSCP5jS2/8NMmw18oagXOijMzs1G+vm6RUY3oMvpwH3wGoqh9u6SyDjHfQ== dependencies: - "@juggle/resize-observer" "^3.3.1" + "@types/lodash-es" "^4.17.6" can-use-dom "^0.1.0" - core-js "^3.0.1" - lodash.debounce "^4.0.8" - lodash.memoize "^4.1.2" - lodash.throttle "^4.1.1" - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + lodash "^4.17.21" + lodash-es "^4.17.21" -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +simplebar-react@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/simplebar-react/-/simplebar-react-3.2.4.tgz#fa495e50048c497c767fb5591b106658f160b240" + integrity sha512-ogLN79e7JUm82wJChD7NSUB+4EHCFvDkjXpiu8hT1Alk7DnCekUWds61NXcsP9jC97KOgF5To/AVjYFbX0olgg== + dependencies: + simplebar-core "^1.2.4" -slash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" - integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== +simplebar@^6.2.5: + version "6.2.5" + resolved "https://registry.yarnpkg.com/simplebar/-/simplebar-6.2.5.tgz#9d7cdf9f9a57b28f2497d165caf60f1bc644913e" + integrity sha512-vfxKR6KNBsPx7+sZnqO7T8VuCvi4px6OlycrrkNgyjvoHhRW7LIyVkHhUfXxbz33Gw99Wb9UMMsnEZv35wtLSw== + dependencies: + can-use-dom "^0.1.0" + simplebar-core "^1.2.4" socket.io-client@4.7.2: version "4.7.2" @@ -11102,26 +7021,12 @@ sockjs@^0.3.24: uuid "^8.3.2" websocket-driver "^0.7.4" -source-list-map@^2.0.0, source-list-map@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-js@^1.0.1, source-map-js@^1.2.0: +source-map-js@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== -source-map-loader@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.2.tgz#af23192f9b344daa729f6772933194cc5fa54fee" - integrity sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg== - dependencies: - abab "^2.0.5" - iconv-lite "^0.6.3" - source-map-js "^1.0.1" - -source-map-support@^0.5.6, source-map-support@~0.5.20: +source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -11129,32 +7034,15 @@ source-map-support@^0.5.6, source-map-support@~0.5.20: buffer-from "^1.0.0" source-map "^0.6.0" -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - source-map@^0.5.7: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - -sourcemap-codec@^1.4.8: - version "1.4.8" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== +source-map@^0.6.0, source-map@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== space-separated-tokens@^1.0.0: version "1.1.5" @@ -11189,35 +7077,6 @@ spdy@^4.0.2: select-hose "^2.0.0" spdy-transport "^3.0.0" -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -stackframe@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" - integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== - -static-eval@2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-2.0.2.tgz#2d1759306b1befa688938454c546b7871f806a42" - integrity sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg== - dependencies: - escodegen "^1.8.1" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -11228,40 +7087,21 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - string-hash@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" integrity sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A== -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-length@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-5.0.1.tgz#3d647f497b6e8e8d41e422f7e0b23bc536c8381e" - integrity sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow== +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: - char-regex "^2.0.0" - strip-ansi "^7.0.1" - -string-natural-compare@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/string-natural-compare/-/string-natural-compare-3.0.1.tgz#7a42d58474454963759e8e8b7ae63d71c1e7fdf4" - integrity sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw== + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -11279,7 +7119,7 @@ string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string.prototype.matchall@^4.0.10, string.prototype.matchall@^4.0.6: +string.prototype.matchall@^4.0.10: version "4.0.11" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a" integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg== @@ -11339,16 +7179,14 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" + ansi-regex "^5.0.1" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -11362,69 +7200,26 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b" - integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -style-loader@^3.3.1: - version "3.3.4" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.4.tgz#f30f786c36db03a45cbd55b6a70d930c479090e7" - integrity sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w== - -stylehacks@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" - integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== - dependencies: - browserslist "^4.21.4" - postcss-selector-parser "^6.0.4" +style-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-4.0.0.tgz#0ea96e468f43c69600011e0589cb05c44f3b17a5" + integrity sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA== stylis@4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.2.0.tgz#79daee0208964c8fe695a42fcffcac633a211a51" integrity sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw== -sucrase@^3.32.0: - version "3.35.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.35.0.tgz#57f17a3d7e19b36d8995f06679d121be914ae263" - integrity sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA== - dependencies: - "@jridgewell/gen-mapping" "^0.3.2" - commander "^4.0.0" - glob "^10.3.10" - lines-and-columns "^1.1.6" - mz "^2.7.0" - pirates "^4.0.1" - ts-interface-checker "^0.1.9" - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -11432,7 +7227,7 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== @@ -11446,124 +7241,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svg-parser@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svg.draggable.js@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz#c514a2f1405efb6f0263e7958f5b68fce50603ba" - integrity sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw== - dependencies: - svg.js "^2.0.1" - -svg.easing.js@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/svg.easing.js/-/svg.easing.js-2.0.0.tgz#8aa9946b0a8e27857a5c40a10eba4091e5691f12" - integrity sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA== - dependencies: - svg.js ">=2.3.x" - -svg.filter.js@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/svg.filter.js/-/svg.filter.js-2.0.2.tgz#91008e151389dd9230779fcbe6e2c9a362d1c203" - integrity sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw== - dependencies: - svg.js "^2.2.5" - -svg.js@>=2.3.x, svg.js@^2.0.1, svg.js@^2.2.5, svg.js@^2.4.0, svg.js@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/svg.js/-/svg.js-2.7.1.tgz#eb977ed4737001eab859949b4a398ee1bb79948d" - integrity sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA== - -svg.pathmorphing.js@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz#c25718a1cc7c36e852ecabc380e758ac09bb2b65" - integrity sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww== - dependencies: - svg.js "^2.4.0" - -svg.resize.js@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/svg.resize.js/-/svg.resize.js-1.4.3.tgz#885abd248e0cd205b36b973c4b578b9a36f23332" - integrity sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw== - dependencies: - svg.js "^2.6.5" - svg.select.js "^2.1.2" - -svg.select.js@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/svg.select.js/-/svg.select.js-2.1.2.tgz#e41ce13b1acff43a7441f9f8be87a2319c87be73" - integrity sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ== - dependencies: - svg.js "^2.2.5" - -svg.select.js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/svg.select.js/-/svg.select.js-3.0.1.tgz#a4198e359f3825739226415f82176a90ea5cc917" - integrity sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw== - dependencies: - svg.js "^2.6.5" - -svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -svgo@^2.7.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" - integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== - dependencies: - "@trysound/sax" "0.2.0" - commander "^7.2.0" - css-select "^4.1.3" - css-tree "^1.1.3" - csso "^4.2.0" - picocolors "^1.0.0" - stable "^0.1.8" - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -synckit@^0.8.3: - version "0.8.8" - resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - tabbable@^6.0.1: version "6.2.0" resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" @@ -11580,68 +7262,12 @@ table-js@^7.1.0: min-dom "^3.2.1" selection-ranges "^3.0.3" -tailwindcss@^3.0.2: - version "3.4.3" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.3.tgz#be48f5283df77dfced705451319a5dffb8621519" - integrity sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A== - dependencies: - "@alloc/quick-lru" "^5.2.0" - arg "^5.0.2" - chokidar "^3.5.3" - didyoumean "^1.2.2" - dlv "^1.1.3" - fast-glob "^3.3.0" - glob-parent "^6.0.2" - is-glob "^4.0.3" - jiti "^1.21.0" - lilconfig "^2.1.0" - micromatch "^4.0.5" - normalize-path "^3.0.0" - object-hash "^3.0.0" - picocolors "^1.0.0" - postcss "^8.4.23" - postcss-import "^15.1.0" - postcss-js "^4.0.1" - postcss-load-config "^4.0.1" - postcss-nested "^6.0.1" - postcss-selector-parser "^6.0.11" - resolve "^1.22.2" - sucrase "^3.32.0" - -tapable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -tempy@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tempy/-/tempy-0.6.0.tgz#65e2c35abc06f1124a97f387b08303442bde59f3" - integrity sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== - dependencies: - is-stream "^2.0.0" - temp-dir "^2.0.0" - type-fest "^0.16.0" - unique-string "^2.0.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.10: +terser-webpack-plugin@^5.3.10: version "5.3.10" resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz#904f4c9193c6fd2a03f693a2150c62a92f40d199" integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== @@ -11652,7 +7278,7 @@ terser-webpack-plugin@^5.2.5, terser-webpack-plugin@^5.3.10: serialize-javascript "^6.0.1" terser "^5.26.0" -terser@^5.0.0, terser@^5.10.0, terser@^5.26.0: +terser@^5.10.0, terser@^5.26.0: version "5.30.3" resolved "https://registry.yarnpkg.com/terser/-/terser-5.30.3.tgz#f1bb68ded42408c316b548e3ec2526d7dd03f4d2" integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA== @@ -11662,39 +7288,11 @@ terser@^5.0.0, terser@^5.10.0, terser@^5.26.0: commander "^2.20.0" source-map-support "~0.5.20" -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" - -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - throttle-debounce@^2.1.0: version "2.3.0" resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2" @@ -11732,11 +7330,6 @@ tippy.js@^6.3.7: dependencies: "@popperjs/core" "^2.9.0" -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -11749,102 +7342,21 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -toposort@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330" - integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg== - -tough-cookie@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -traverse@>=0.2.4: - version "0.6.8" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.8.tgz#5e5e0c41878b57e4b73ad2f3d1e36a715ea4ab15" - integrity sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA== - -"traverse@>=0.3.0 <0.4": - version "0.3.9" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.3.9.tgz#717b8f220cc0bb7b44e40514c22b2e8bbc70d8b9" - integrity sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ== - -tryer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" - integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== - -ts-interface-checker@^0.1.9: - version "0.1.13" - resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" - integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== - -tsconfig-paths@^3.15.0: - version "3.15.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz#5299ec605e55b1abb23ec939ef15edaf483070d4" - integrity sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - -tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.6.2: +tslib@^2.0.0, tslib@^2.0.3, tslib@^2.3.1, tslib@^2.4.0: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -11852,33 +7364,11 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860" - integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - type-func@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/type-func/-/type-func-1.0.3.tgz#ab184234ae80d8d50057cefeff3b2d97d08ae9b0" @@ -11936,13 +7426,6 @@ typed-array-length@^1.0.6: is-typed-array "^1.1.13" possible-typed-array-names "^1.0.0" -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - ua-parser-js@^1.0.33: version "1.0.37" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.37.tgz#b5dc7b163a5c1f0c510b08446aed4da92c46373f" @@ -11958,11 +7441,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -underscore@1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.12.1.tgz#7bb8cc9b3d397e201cf8553336d262544ead829e" - integrity sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw== - undici-types@~5.26.4: version "5.26.5" resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" @@ -11991,38 +7469,11 @@ unicode-property-aliases-ecmascript@^2.0.0: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d" - integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== - unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg== - -upath@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" @@ -12038,14 +7489,6 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - use-composed-ref@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda" @@ -12073,16 +7516,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" @@ -12103,15 +7536,6 @@ uuid@^9.0.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - validator@^13.7.0: version "13.11.0" resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b" @@ -12134,27 +7558,6 @@ void-elements@3.1.0: resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-3.1.0.tgz#614f7fbf8d801f0bb5f0661f5b2f5785750e4f09" integrity sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w== -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - watchpack@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.1.tgz#29308f2cac150fa8e4c92f90e0ec954a9fed7fff" @@ -12170,11 +7573,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-vitals@^3.0.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-3.5.2.tgz#5bb58461bbc173c3f00c2ddff8bfe6e680999ca9" - integrity sha512-c0rhqNcHXRkY/ogGDJQxZ9Im9D19hDihbzSQJrsioex+KnFgmMzBiy57Z1EjkhX/+OjyBpclDCzz2ITtjokFmg== - webfontloader@^1.6.28: version "1.6.28" resolved "https://registry.yarnpkg.com/webfontloader/-/webfontloader-1.6.28.tgz#db786129253cb6e8eae54c2fb05f870af6675bae" @@ -12185,98 +7583,88 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== +webpack-cli@^5.1.4: + version "5.1.4" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.4.tgz#c8e046ba7eaae4911d7e71e2b25b776fcc35759b" + integrity sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg== + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^2.1.1" + "@webpack-cli/info" "^2.0.2" + "@webpack-cli/serve" "^2.0.5" + colorette "^2.0.14" + commander "^10.0.1" + cross-spawn "^7.0.3" + envinfo "^7.7.3" + fastest-levenshtein "^1.0.12" + import-local "^3.0.2" + interpret "^3.1.1" + rechoir "^0.8.0" + webpack-merge "^5.7.3" -webpack-dev-middleware@^5.3.4: - version "5.3.4" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz#eb7b39281cbce10e104eb2b8bf2b63fce49a3517" - integrity sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q== +webpack-dev-middleware@^7.1.0: + version "7.2.1" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-7.2.1.tgz#2af00538b6e4eda05f5afdd5d711dbebc05958f7" + integrity sha512-hRLz+jPQXo999Nx9fXVdKlg/aehsw1ajA9skAneGmT03xwmyuhvF93p6HUKKbWhXdcERtGTzUCtIQr+2IQegrA== dependencies: colorette "^2.0.10" - memfs "^3.4.3" + memfs "^4.6.0" mime-types "^2.1.31" + on-finished "^2.4.1" range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@^4.6.0: - version "4.15.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz#9e0c70a42a012560860adb186986da1248333173" - integrity sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g== - dependencies: - "@types/bonjour" "^3.5.9" - "@types/connect-history-api-fallback" "^1.3.5" - "@types/express" "^4.17.13" - "@types/serve-index" "^1.9.1" - "@types/serve-static" "^1.13.10" - "@types/sockjs" "^0.3.33" - "@types/ws" "^8.5.5" +webpack-dev-server@^5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-5.0.4.tgz#cb6ea47ff796b9251ec49a94f24a425e12e3c9b8" + integrity sha512-dljXhUgx3HqKP2d8J/fUMvhxGhzjeNVarDLcbO/EWMSgRizDkxHQDZQaLFL5VJY9tRBj2Gz+rvCEYYvhbqPHNA== + dependencies: + "@types/bonjour" "^3.5.13" + "@types/connect-history-api-fallback" "^1.5.4" + "@types/express" "^4.17.21" + "@types/serve-index" "^1.9.4" + "@types/serve-static" "^1.15.5" + "@types/sockjs" "^0.3.36" + "@types/ws" "^8.5.10" ansi-html-community "^0.0.8" - bonjour-service "^1.0.11" - chokidar "^3.5.3" + bonjour-service "^1.2.1" + chokidar "^3.6.0" colorette "^2.0.10" compression "^1.7.4" connect-history-api-fallback "^2.0.0" default-gateway "^6.0.3" express "^4.17.3" graceful-fs "^4.2.6" - html-entities "^2.3.2" + html-entities "^2.4.0" http-proxy-middleware "^2.0.3" - ipaddr.js "^2.0.1" - launch-editor "^2.6.0" - open "^8.0.9" - p-retry "^4.5.0" - rimraf "^3.0.2" - schema-utils "^4.0.0" - selfsigned "^2.1.1" + ipaddr.js "^2.1.0" + launch-editor "^2.6.1" + open "^10.0.3" + p-retry "^6.2.0" + rimraf "^5.0.5" + schema-utils "^4.2.0" + selfsigned "^2.4.1" serve-index "^1.9.1" sockjs "^0.3.24" spdy "^4.0.2" - webpack-dev-middleware "^5.3.4" - ws "^8.13.0" - -webpack-manifest-plugin@^4.0.2: - version "4.1.1" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz#10f8dbf4714ff93a215d5a45bcc416d80506f94f" - integrity sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow== - dependencies: - tapable "^2.0.0" - webpack-sources "^2.2.0" + webpack-dev-middleware "^7.1.0" + ws "^8.16.0" -webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== +webpack-merge@^5.7.3: + version "5.10.0" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.10.0.tgz#a3ad5d773241e9c682803abf628d4cd62b8a4177" + integrity sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA== dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack-sources@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-2.3.1.tgz#570de0af163949fe272233c2cefe1b56f74511fd" - integrity sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA== - dependencies: - source-list-map "^2.0.1" - source-map "^0.6.1" + clone-deep "^4.0.1" + flat "^5.0.2" + wildcard "^2.0.0" webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== -webpack@^5.64.4: +webpack@^5.91.0: version "5.91.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.91.0.tgz#ffa92c1c618d18c878f06892bbdc3373c71a01d9" integrity sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw== @@ -12320,23 +7708,6 @@ websocket-extensions@>=0.1.1: resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@^3.6.2: - version "3.6.20" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz#580ce6d791facec91d37c72890995a0b48d31c70" - integrity sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg== - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" @@ -12345,24 +7716,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -12402,7 +7755,7 @@ which-collection@^1.0.1: is-weakmap "^2.0.2" is-weakset "^2.0.3" -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: +which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.9: version "1.1.15" resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== @@ -12413,13 +7766,6 @@ which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, gopd "^1.0.1" has-tostringtag "^1.0.2" -which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -12427,181 +7773,12 @@ which@^2.0.1: dependencies: isexe "^2.0.0" -word-wrap@~1.2.3: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -workbox-background-sync@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz#08d603a33717ce663e718c30cc336f74909aff2f" - integrity sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg== - dependencies: - idb "^7.0.1" - workbox-core "6.6.1" - -workbox-broadcast-update@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz#0fad9454cf8e4ace0c293e5617c64c75d8a8c61e" - integrity sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ== - dependencies: - workbox-core "6.6.1" +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== -workbox-build@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-6.6.1.tgz#6010e9ce550910156761448f2dbea8cfcf759cb0" - integrity sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw== - dependencies: - "@apideck/better-ajv-errors" "^0.3.1" - "@babel/core" "^7.11.1" - "@babel/preset-env" "^7.11.0" - "@babel/runtime" "^7.11.2" - "@rollup/plugin-babel" "^5.2.0" - "@rollup/plugin-node-resolve" "^11.2.1" - "@rollup/plugin-replace" "^2.4.1" - "@surma/rollup-plugin-off-main-thread" "^2.2.3" - ajv "^8.6.0" - common-tags "^1.8.0" - fast-json-stable-stringify "^2.1.0" - fs-extra "^9.0.1" - glob "^7.1.6" - lodash "^4.17.20" - pretty-bytes "^5.3.0" - rollup "^2.43.1" - rollup-plugin-terser "^7.0.0" - source-map "^0.8.0-beta.0" - stringify-object "^3.3.0" - strip-comments "^2.0.1" - tempy "^0.6.0" - upath "^1.2.0" - workbox-background-sync "6.6.1" - workbox-broadcast-update "6.6.1" - workbox-cacheable-response "6.6.1" - workbox-core "6.6.1" - workbox-expiration "6.6.1" - workbox-google-analytics "6.6.1" - workbox-navigation-preload "6.6.1" - workbox-precaching "6.6.1" - workbox-range-requests "6.6.1" - workbox-recipes "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - workbox-streams "6.6.1" - workbox-sw "6.6.1" - workbox-window "6.6.1" - -workbox-cacheable-response@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz#284c2b86be3f4fd191970ace8c8e99797bcf58e9" - integrity sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag== - dependencies: - workbox-core "6.6.1" - -workbox-core@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-6.6.1.tgz#7184776d4134c5ed2f086878c882728fc9084265" - integrity sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw== - -workbox-expiration@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-6.6.1.tgz#a841fa36676104426dbfb9da1ef6a630b4f93739" - integrity sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A== - dependencies: - idb "^7.0.1" - workbox-core "6.6.1" - -workbox-google-analytics@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz#a07a6655ab33d89d1b0b0a935ffa5dea88618c5d" - integrity sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA== - dependencies: - workbox-background-sync "6.6.1" - workbox-core "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - -workbox-navigation-preload@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz#61a34fe125558dd88cf09237f11bd966504ea059" - integrity sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA== - dependencies: - workbox-core "6.6.1" - -workbox-precaching@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-6.6.1.tgz#dedeeba10a2d163d990bf99f1c2066ac0d1a19e2" - integrity sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A== - dependencies: - workbox-core "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - -workbox-range-requests@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz#ddaf7e73af11d362fbb2f136a9063a4c7f507a39" - integrity sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g== - dependencies: - workbox-core "6.6.1" - -workbox-recipes@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-6.6.1.tgz#ea70d2b2b0b0bce8de0a9d94f274d4a688e69fae" - integrity sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g== - dependencies: - workbox-cacheable-response "6.6.1" - workbox-core "6.6.1" - workbox-expiration "6.6.1" - workbox-precaching "6.6.1" - workbox-routing "6.6.1" - workbox-strategies "6.6.1" - -workbox-routing@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-6.6.1.tgz#cba9a1c7e0d1ea11e24b6f8c518840efdc94f581" - integrity sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg== - dependencies: - workbox-core "6.6.1" - -workbox-strategies@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-6.6.1.tgz#38d0f0fbdddba97bd92e0c6418d0b1a2ccd5b8bf" - integrity sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw== - dependencies: - workbox-core "6.6.1" - -workbox-streams@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-6.6.1.tgz#b2f7ba7b315c27a6e3a96a476593f99c5d227d26" - integrity sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q== - dependencies: - workbox-core "6.6.1" - workbox-routing "6.6.1" - -workbox-sw@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-6.6.1.tgz#d4c4ca3125088e8b9fd7a748ed537fa0247bd72c" - integrity sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ== - -workbox-webpack-plugin@^6.4.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.1.tgz#4f81cc1ad4e5d2cd7477a86ba83c84ee2d187531" - integrity sha512-zpZ+ExFj9NmiI66cFEApyjk7hGsfJ1YMOaLXGXBoZf0v7Iu6hL0ZBe+83mnDq3YYWAfA3fnyFejritjOHkFcrA== - dependencies: - fast-json-stable-stringify "^2.1.0" - pretty-bytes "^5.4.1" - upath "^1.2.0" - webpack-sources "^1.4.3" - workbox-build "6.6.1" - -workbox-window@6.6.1: - version "6.6.1" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-6.6.1.tgz#f22a394cbac36240d0dadcbdebc35f711bb7b89e" - integrity sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ== - dependencies: - "@types/trusted-types" "^2.0.2" - workbox-core "6.6.1" - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -12624,22 +7801,7 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^7.4.6: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - -ws@^8.13.0: +ws@^8.16.0: version "8.16.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4" integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ== @@ -12649,16 +7811,6 @@ ws@~8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - xmlhttprequest-ssl@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" @@ -12669,11 +7821,6 @@ xtend@^4.0.0: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" @@ -12684,48 +7831,17 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: +yaml@^1.10.0: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^2.3.4: - version "2.4.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.1.tgz#2e57e0b5e995292c25c75d2658f0664765210eed" - integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== -yup@^0.32.11: - version "0.32.11" - resolved "https://registry.yarnpkg.com/yup/-/yup-0.32.11.tgz#d67fb83eefa4698607982e63f7ca4c5ed3cf18c5" - integrity sha512-Z2Fe1bn+eLstG8DRR6FTavGD+MeAwyfmouhHsIUgaADz8jvFKbO/fXc2trJKZg+5EBjh4gGm3iU/t3onKlXHIg== - dependencies: - "@babel/runtime" "^7.15.4" - "@types/lodash" "^4.14.175" - lodash "^4.17.21" - lodash-es "^4.17.21" - nanoclone "^0.2.1" - property-expr "^2.0.4" - toposort "^2.0.2" +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==