From 17edc6df1c5ca064cf0e93fd4ed16f46cfbce531 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 5 Oct 2023 18:10:28 +0200 Subject: [PATCH 01/20] Added delete, copy (wip) ctrl + c & ctrl +v (wip) Co-authored-by: winniel24 --- src/management-system-v2/app/globals.css | 4 +- .../components/process-icon-list.tsx | 9 +- .../components/process-list.tsx | 272 +++--------------- .../components/processes.tsx | 66 ++++- .../components/tabcard-model-metadata.tsx | 1 - 5 files changed, 110 insertions(+), 242 deletions(-) diff --git a/src/management-system-v2/app/globals.css b/src/management-system-v2/app/globals.css index bd5dd1ccc..5de872f6f 100644 --- a/src/management-system-v2/app/globals.css +++ b/src/management-system-v2/app/globals.css @@ -50,8 +50,8 @@ } .card-selected { - background-color: #ebf8ff; - border: 1px solid #1976d2; + background-color: #ebf8ff !important; + border: 1px solid #1976d2 !important; } .no-select { diff --git a/src/management-system-v2/components/process-icon-list.tsx b/src/management-system-v2/components/process-icon-list.tsx index 8aca25961..a97fd010e 100644 --- a/src/management-system-v2/components/process-icon-list.tsx +++ b/src/management-system-v2/components/process-icon-list.tsx @@ -27,6 +27,7 @@ const IconView: FC = ({ data, selection, setSelection }) => { const layout = prefs['show-process-meta-data'] ? /* Side-Panel opened: */ { + gutter: 16, xs: 1, sm: 1, md: 1, @@ -36,6 +37,7 @@ const IconView: FC = ({ data, selection, setSelection }) => { } : /* Side-Panel closed: */ { + gutter: 16, xs: 1, sm: 2, md: 4, @@ -64,11 +66,10 @@ const IconView: FC = ({ data, selection, setSelection }) => { height: '100%', scrollbarWidth: 'none', }} - grid={{ - gutter: 16, + grid={ /* column: 4 */ - ...layout, - }} + layout + } dataSource={data} renderItem={(item) => ( diff --git a/src/management-system-v2/components/process-list.tsx b/src/management-system-v2/components/process-list.tsx index 2202d9c1c..9bd274987 100644 --- a/src/management-system-v2/components/process-list.tsx +++ b/src/management-system-v2/components/process-list.tsx @@ -25,7 +25,8 @@ import Preview from './previewProcess'; import useLastClickedStore from '@/lib/use-last-clicked-process-store'; import classNames from 'classnames'; import { generateDateString } from '@/lib/utils'; -import { ApiData } from '@/lib/fetch-data'; +import { ApiData, useDeleteAsset, usePostAsset } from '@/lib/fetch-data'; +import { QueryClient } from '@tanstack/react-query'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -63,7 +64,8 @@ const clipText: ColumnType['render'] = (dataIndexElement, record, index const numberOfRows = typeof window !== 'undefined' ? Math.floor((window?.innerHeight - 340) / 47) : 10; -console.log(numberOfRows); + +const queryClient = new QueryClient(); const ProcessList: FC = ({ data, selection, setSelection, isLoading }) => { const router = useRouter(); @@ -92,6 +94,9 @@ const ProcessList: FC = ({ data, selection, setSelection, isLo }, 200); }; + const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}'); + const { mutateAsync: createProcess } = usePostAsset('/process'); + const actionBarGenerator = useCallback((record: Process) => { return ( <> @@ -104,13 +109,50 @@ const ProcessList: FC = ({ data, selection, setSelection, isLo /> - + { + // fetch(`localhost:33080/api/process/${record.definitionId}`) + // .then((res) => res.json()) + // .then((data) => { + createProcess({ + /* TODO: + Causes 500 + */ + body: { + ...record, + // description: record.description, + // departments: record.departments, + bpmn: /* data */ record.bpmn || '', + variables: [ + { + name: `${record.definitionName} Copy`, + type: '', + }, + ], + }, + }); + // }); + }} + /> - + { + deleteProcess({ + params: { + path: { + definitionId: record.definitionId, + }, + }, + }); + /* TODO: Invalidate query for list */ + const keys = ['/process', { noBpmn: true }]; + queryClient.invalidateQueries(keys); + }} + /> ); @@ -320,228 +362,6 @@ const ProcessList: FC = ({ data, selection, setSelection, isLo const columnsFiltered = columns.filter((c) => selectedColumns.includes(c?.key as string)); - const dataSource2 = [ - { - key: '1', - name: 'Mike', - age: 32, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: - '10 Downing Street Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.', - fix: 'Fixed Content', - }, - { - key: '1', - name: 'Mike', - age: 32, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - { - key: '2', - name: 'John', - age: 42, - address: '10 Downing Street', - fix: 'Fixed Content', - }, - ]; - - const columns2: TableColumnsType = [ - { - title: 'Name', - dataIndex: 'name', - key: 'name', - }, - { - title: 'Age', - dataIndex: 'age', - key: 'age', - }, - { - title: 'Address', - dataIndex: 'address', - key: 'address', - // width: '100px', - render: (dataIndexEle, record, index) => { - return ( -
- {dataIndexEle} -
- ); - }, - }, - { - title: 'Name', - dataIndex: 'name', - key: 'name' + 1, - }, - { - title: 'Age', - dataIndex: 'age', - key: 'age' + 1, - }, - { - title: 'Address', - dataIndex: 'address', - key: 'address' + 1, - }, - { - title: 'Fixed', - fixed: 'right', - dataIndex: 'fix', - key: 'fix', - }, - ]; - // return ( // <> //
diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index 5788e3267..45aee68b0 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -3,7 +3,7 @@ import styles from './processes.module.scss'; import React, { FC, useEffect, useState } from 'react'; import { Input, Space, Button, Col, Row, Tooltip } from 'antd'; -import { ApiData, useGetAsset } from '@/lib/fetch-data'; +import { ApiData, useDeleteAsset, useGetAsset } from '@/lib/fetch-data'; import { CopyOutlined, ExportOutlined, @@ -19,6 +19,7 @@ import IconView from './process-icon-list'; import ProcessList from './process-list'; import { Preferences, getPreferences, addUserPreference } from '@/lib/utils'; import MetaData from './process-info-card'; +import { QueryClient } from '@tanstack/react-query'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -44,6 +45,8 @@ const fuseOptions = { const { Search } = Input; +const queryClient = new QueryClient(); + const Processes: FC = () => { const { data, isLoading, isError, isSuccess } = useGetAsset('/process', { params: { @@ -62,19 +65,36 @@ const Processes: FC = () => { const [iconView, setIconView] = useState(prefs['icon-view-in-process-list']); + const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}'); + const actionBar = ( <> {/* */} - + {/* - + */} - + { + selectedRowKeys.forEach((key) => { + deleteProcess({ + params: { + path: { + definitionId: key as string, + }, + }, + }); + /* TODO: Invalidate query for list */ + const keys = ['/process', { noBpmn: true }]; + queryClient.invalidateQueries(keys); + }); + }} + /> ); @@ -102,6 +122,7 @@ const Processes: FC = () => { const deselectAll = () => { setSelectedRowKeys([]); }; + const [copySelection, setCopySelection] = useState(selectedRowKeys); useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { @@ -109,18 +130,45 @@ const Processes: FC = () => { if (e.ctrlKey && e.key === 'a') { e.preventDefault(); setSelectedRowKeys(filteredData ? filteredData.map((item) => item.definitionId) : []); + /* DEL */ + } else if (e.key === 'Delete') { + e.preventDefault(); + selectedRowKeys.forEach((key) => { + deleteProcess({ + params: { + path: { + definitionId: key as string, + }, + }, + }); + }); + /* TODO: Invalidate query for list */ + const keys = ['/process', { noBpmn: true }]; + queryClient.invalidateQueries(keys); + /* TODO: */ + /* CTRL + C */ + /* CTRL + V */ + } else if (e.ctrlKey && e.key === 'c') { + e.preventDefault(); + setCopySelection(selectedRowKeys); + console.log(copySelection); + } else if (e.ctrlKey && e.key === 'v' && copySelection.length) { + e.preventDefault(); + copySelection.forEach((key) => { + /* TODO: + Post to /process + (identical + name with (copy) suffix + */ + console.log(key); + }); } - /* TODO: */ - /* CTRL + C */ - /* CTRL + V */ - /* DEL */ }; // Add event listener window.addEventListener('keydown', handleKeyDown); // Remove event listener on cleanup return () => window.removeEventListener('keydown', handleKeyDown); - }, [filteredData]); + }, [deleteProcess, filteredData, selectedRowKeys]); if (isError) { return
Error
; diff --git a/src/management-system-v2/components/tabcard-model-metadata.tsx b/src/management-system-v2/components/tabcard-model-metadata.tsx index 6fcd04688..bd8794c5b 100644 --- a/src/management-system-v2/components/tabcard-model-metadata.tsx +++ b/src/management-system-v2/components/tabcard-model-metadata.tsx @@ -164,7 +164,6 @@ const TabCard: FC = ({ item, selection, setSelection, tabcard, com /* Nothing selected */ setSelection([item?.definitionId]); } - /* Normal Click */ } else { setSelection([item?.definitionId]); } From b7c8acd6b4f7e49efd356d2842338e95c9f8e14b Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 12 Oct 2023 13:59:12 +0200 Subject: [PATCH 02/20] trivial --- yarn.lock | 1004 ++++++++++++++++++++++++++--------------------------- 1 file changed, 488 insertions(+), 516 deletions(-) diff --git a/yarn.lock b/yarn.lock index ca7ad17b8..0507ee102 100644 --- a/yarn.lock +++ b/yarn.lock @@ -46,9 +46,9 @@ "@ctrl/tinycolor" "^3.4.0" "@ant-design/cssinjs@^1.16.0": - version "1.17.0" - resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.17.0.tgz#a3f69cf5131539b76ccdbfced43d242557599fea" - integrity sha512-MgGCZ6sfD3yQB0XW0hN4jgixMxApTlDYyct+pc7fRZNO4CaqWWm/9iXkkljNR27lyWLZmm+XiDfcIOo1bnrnMA== + version "1.17.1" + resolved "https://registry.yarnpkg.com/@ant-design/cssinjs/-/cssinjs-1.17.1.tgz#198b5fb1b8780fdcf2d420d6df67e348126a7724" + integrity sha512-bDcpNVnNgQUQZSkpPCF0pnLERpxZnilJo4fUQ3vn8thYMGP4CyvoPFjD1RGgWx7mKy8DHVNDlk5cnuyR0/o0/Q== dependencies: "@babel/runtime" "^7.11.1" "@emotion/hash" "^0.8.0" @@ -97,7 +97,7 @@ debug "^3.1.0" google-auth-library "^6.1.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.22.5", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13", "@babel/code-frame@^7.8.3": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== @@ -105,27 +105,27 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.20", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.9.6": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9", "@babel/compat-data@^7.23.2", "@babel/compat-data@^7.9.6": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.2.tgz#6a12ced93455827037bfb5ed8492820d60fc32cc" + integrity sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ== "@babel/core@^7.0.0", "@babel/core@^7.11.6", "@babel/core@^7.12.16", "@babel/core@^7.12.3", "@babel/core@^7.5.0", "@babel/core@^7.9.6": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.20.tgz#e3d0eed84c049e2a2ae0a64d27b6a37edec385b7" - integrity sha512-Y6jd1ahLubuYweD/zJH+vvOY141v4f9igNQAQ+MBgq9JlHS2iTsZKn1aMsb3vGccZsXI16VzTBw52Xx0DWmtnA== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.2.tgz#ed10df0d580fff67c5f3ee70fd22e2e4c90a9f94" + integrity sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.22.15" + "@babel/generator" "^7.23.0" "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.22.20" - "@babel/helpers" "^7.22.15" - "@babel/parser" "^7.22.16" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.2" + "@babel/parser" "^7.23.0" "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.20" - "@babel/types" "^7.22.19" - convert-source-map "^1.7.0" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" @@ -138,12 +138,12 @@ dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.22.15", "@babel/generator@^7.7.2": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.15.tgz#1564189c7ec94cb8f77b5e8a90c4d200d21b2339" - integrity sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA== +"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.23.0" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" @@ -197,10 +197,10 @@ regexpu-core "^5.3.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7" - integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw== +"@babel/helper-define-polyfill-provider@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz#a71c10f7146d809f4a256c373f462d9bba8cf6ba" + integrity sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug== dependencies: "@babel/helper-compilation-targets" "^7.22.6" "@babel/helper-plugin-utils" "^7.22.5" @@ -213,13 +213,13 @@ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== -"@babel/helper-function-name@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" - integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== +"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== dependencies: - "@babel/template" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" "@babel/helper-hoist-variables@^7.22.5": version "7.22.5" @@ -229,11 +229,11 @@ "@babel/types" "^7.22.5" "@babel/helper-member-expression-to-functions@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.15.tgz#b95a144896f6d491ca7863576f820f3628818621" - integrity sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA== + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== dependencies: - "@babel/types" "^7.22.15" + "@babel/types" "^7.23.0" "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.8.3": version "7.22.15" @@ -242,10 +242,10 @@ dependencies: "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.22.15", "@babel/helper-module-transforms@^7.22.20", "@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.20.tgz#da9edc14794babbe7386df438f3768067132f59e" - integrity sha512-dLT7JVWIUUxKOs1UnJUBR3S70YK+pKX6AbJgB2vMIvEkZkrfJDbYDJesnPshtKV4LhDOR3Oc5YULeDizRek+5A== +"@babel/helper-module-transforms@^7.22.5", "@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== dependencies: "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-module-imports" "^7.22.15" @@ -265,7 +265,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== -"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.5", "@babel/helper-remap-async-to-generator@^7.22.9": +"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.22.20", "@babel/helper-remap-async-to-generator@^7.22.5": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz#7b68e1cb4fa964d2996fd063723fb48eca8498e0" integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw== @@ -274,7 +274,7 @@ "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-wrap-function" "^7.22.20" -"@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": +"@babel/helper-replace-supers@^7.22.20", "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== @@ -309,7 +309,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== -"@babel/helper-validator-identifier@^7.22.19", "@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.22.5": +"@babel/helper-validator-identifier@^7.22.20": version "7.22.20" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== @@ -328,14 +328,14 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.15.tgz#f09c3df31e86e3ea0b7ff7556d85cdebd47ea6f1" - integrity sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw== +"@babel/helpers@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" + integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== dependencies: "@babel/template" "^7.22.15" - "@babel/traverse" "^7.22.15" - "@babel/types" "^7.22.15" + "@babel/traverse" "^7.23.2" + "@babel/types" "^7.23.0" "@babel/highlight@^7.22.13": version "7.22.20" @@ -358,12 +358,7 @@ regenerator-runtime "^0.14.0" v8flags "^3.1.1" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.4", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.22.16", "@babel/parser@^7.7.0", "@babel/parser@^7.9.4": - version "7.22.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95" - integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA== - -"@babel/parser@^7.22.5": +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.4", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.7.0", "@babel/parser@^7.9.4": version "7.23.0" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== @@ -403,13 +398,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-decorators@^7.1.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.15.tgz#dc774eae73ab8c28a644d490b45aa47a85bb0bf5" - integrity sha512-kc0VvbbUyKelvzcKOSyQUSVVXS5pT3UhRB0e3c9An86MvLqs+gx0dN4asllrDluqSa3m9YyooXKGOFVomnyFkg== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.2.tgz#0b345a5754f48309fa50b7cd99075ef0295b12c8" + integrity sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg== dependencies: "@babel/helper-create-class-features-plugin" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-replace-supers" "^7.22.9" + "@babel/helper-replace-supers" "^7.22.20" "@babel/helper-split-export-declaration" "^7.22.6" "@babel/plugin-syntax-decorators" "^7.22.10" @@ -648,14 +643,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-async-generator-functions@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz#3b153af4a6b779f340d5b80d3f634f55820aefa3" - integrity sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w== +"@babel/plugin-transform-async-generator-functions@^7.23.2": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz#054afe290d64c6f576f371ccc321772c8ea87ebb" + integrity sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ== dependencies: - "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-remap-async-to-generator" "^7.22.9" + "@babel/helper-remap-async-to-generator" "^7.22.20" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-transform-async-to-generator@^7.22.5", "@babel/plugin-transform-async-to-generator@^7.3.4", "@babel/plugin-transform-async-to-generator@^7.8.3": @@ -674,10 +669,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-block-scoping@^7.22.15", "@babel/plugin-transform-block-scoping@^7.3.4", "@babel/plugin-transform-block-scoping@^7.8.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.15.tgz#494eb82b87b5f8b1d8f6f28ea74078ec0a10a841" - integrity sha512-G1czpdJBZCtngoK1sJgloLiOHUnkb/bLZwqVZD8kXmq0ZnVfTTWUcs9OWtp0mBtYJ+4LQY1fllqBkOIPhXmFmw== +"@babel/plugin-transform-block-scoping@^7.23.0", "@babel/plugin-transform-block-scoping@^7.3.4", "@babel/plugin-transform-block-scoping@^7.8.3": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.0.tgz#8744d02c6c264d82e1a4bc5d2d501fd8aff6f022" + integrity sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -721,10 +716,10 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/template" "^7.22.5" -"@babel/plugin-transform-destructuring@^7.2.0", "@babel/plugin-transform-destructuring@^7.22.15", "@babel/plugin-transform-destructuring@^7.9.5": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.15.tgz#e7404ea5bb3387073b9754be654eecb578324694" - integrity sha512-HzG8sFl1ZVGTme74Nw+X01XsUTqERVQ6/RLHo3XjGRzm7XD6QTtfS3NJotVgCGy8BzkDqRjRBD8dAyJn5TuvSQ== +"@babel/plugin-transform-destructuring@^7.2.0", "@babel/plugin-transform-destructuring@^7.23.0", "@babel/plugin-transform-destructuring@^7.9.5": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.0.tgz#6447aa686be48b32eaf65a73e0e2c0bd010a266c" + integrity sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg== dependencies: "@babel/helper-plugin-utils" "^7.22.5" @@ -813,32 +808,32 @@ dependencies: "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.22.5", "@babel/plugin-transform-modules-amd@^7.9.6": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526" - integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== +"@babel/plugin-transform-modules-amd@^7.2.0", "@babel/plugin-transform-modules-amd@^7.23.0", "@babel/plugin-transform-modules-amd@^7.9.6": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.0.tgz#05b2bc43373faa6d30ca89214731f76f966f3b88" + integrity sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw== dependencies: - "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" -"@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.22.15", "@babel/plugin-transform-modules-commonjs@^7.9.6": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.15.tgz#b11810117ed4ee7691b29bd29fd9f3f98276034f" - integrity sha512-jWL4eh90w0HQOTKP2MoXXUpVxilxsB2Vl4ji69rSjS3EcZ/v4sBmn+A3NpepuJzBhOaEBbR7udonlHHn5DWidg== +"@babel/plugin-transform-modules-commonjs@^7.2.0", "@babel/plugin-transform-modules-commonjs@^7.23.0", "@babel/plugin-transform-modules-commonjs@^7.9.6": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.0.tgz#b3dba4757133b2762c00f4f94590cf6d52602481" + integrity sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ== dependencies: - "@babel/helper-module-transforms" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-simple-access" "^7.22.5" -"@babel/plugin-transform-modules-systemjs@^7.22.11", "@babel/plugin-transform-modules-systemjs@^7.3.4", "@babel/plugin-transform-modules-systemjs@^7.9.6": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.11.tgz#3386be5875d316493b517207e8f1931d93154bb1" - integrity sha512-rIqHmHoMEOhI3VkVf5jQ15l539KrwhzqcBO6wdCNWPWc/JWt9ILNYNUssbRpeq0qWns8svuw8LnMNCvWBIJ8wA== +"@babel/plugin-transform-modules-systemjs@^7.23.0", "@babel/plugin-transform-modules-systemjs@^7.3.4", "@babel/plugin-transform-modules-systemjs@^7.9.6": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.0.tgz#77591e126f3ff4132a40595a6cccd00a6b60d160" + integrity sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg== dependencies: "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-module-transforms" "^7.22.9" + "@babel/helper-module-transforms" "^7.23.0" "@babel/helper-plugin-utils" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" "@babel/plugin-transform-modules-umd@^7.2.0", "@babel/plugin-transform-modules-umd@^7.22.5", "@babel/plugin-transform-modules-umd@^7.9.0": version "7.22.5" @@ -906,10 +901,10 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.15.tgz#d7a5996c2f7ca4ad2ad16dbb74444e5c4385b1ba" - integrity sha512-ngQ2tBhq5vvSJw2Q2Z9i7ealNkpDMU0rGWnHPKqRZO0tzZ5tlaoz4hDvhXioOoaE0X2vfNss1djwg0DXlfu30A== +"@babel/plugin-transform-optional-chaining@^7.22.15", "@babel/plugin-transform-optional-chaining@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.0.tgz#73ff5fc1cf98f542f09f29c0631647d8ad0be158" + integrity sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g== dependencies: "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" @@ -963,15 +958,15 @@ "@babel/helper-plugin-utils" "^7.22.5" "@babel/plugin-transform-runtime@^7.4.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.15.tgz#3a625c4c05a39e932d7d34f5d4895cdd0172fdc9" - integrity sha512-tEVLhk8NRZSmwQ0DJtxxhTrCht1HVo8VaMzYT4w6lwyKBuHsgoioAUA7/6eT2fRfc5/23fuGdlwIxXhRVgWr4g== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.2.tgz#c956a3f8d1aa50816ff6c30c6288d66635c12990" + integrity sha512-XOntj6icgzMS58jPVtQpiuF6ZFWxQiJavISGx5KGjRj+3gqZr8+N6Kx+N9BApWzgS+DOjIZfXXj0ZesenOWDyA== dependencies: "@babel/helper-module-imports" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" semver "^6.3.1" "@babel/plugin-transform-shorthand-properties@^7.2.0", "@babel/plugin-transform-shorthand-properties@^7.22.5", "@babel/plugin-transform-shorthand-properties@^7.8.3": @@ -1157,11 +1152,11 @@ semver "^5.3.0" "@babel/preset-env@^7.5.2": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.22.20.tgz#de9e9b57e1127ce0a2f580831717f7fb677ceedb" - integrity sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.2.tgz#1f22be0ff0e121113260337dbc3e58fafce8d059" + integrity sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ== dependencies: - "@babel/compat-data" "^7.22.20" + "@babel/compat-data" "^7.23.2" "@babel/helper-compilation-targets" "^7.22.15" "@babel/helper-plugin-utils" "^7.22.5" "@babel/helper-validator-option" "^7.22.15" @@ -1187,15 +1182,15 @@ "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.22.5" - "@babel/plugin-transform-async-generator-functions" "^7.22.15" + "@babel/plugin-transform-async-generator-functions" "^7.23.2" "@babel/plugin-transform-async-to-generator" "^7.22.5" "@babel/plugin-transform-block-scoped-functions" "^7.22.5" - "@babel/plugin-transform-block-scoping" "^7.22.15" + "@babel/plugin-transform-block-scoping" "^7.23.0" "@babel/plugin-transform-class-properties" "^7.22.5" "@babel/plugin-transform-class-static-block" "^7.22.11" "@babel/plugin-transform-classes" "^7.22.15" "@babel/plugin-transform-computed-properties" "^7.22.5" - "@babel/plugin-transform-destructuring" "^7.22.15" + "@babel/plugin-transform-destructuring" "^7.23.0" "@babel/plugin-transform-dotall-regex" "^7.22.5" "@babel/plugin-transform-duplicate-keys" "^7.22.5" "@babel/plugin-transform-dynamic-import" "^7.22.11" @@ -1207,9 +1202,9 @@ "@babel/plugin-transform-literals" "^7.22.5" "@babel/plugin-transform-logical-assignment-operators" "^7.22.11" "@babel/plugin-transform-member-expression-literals" "^7.22.5" - "@babel/plugin-transform-modules-amd" "^7.22.5" - "@babel/plugin-transform-modules-commonjs" "^7.22.15" - "@babel/plugin-transform-modules-systemjs" "^7.22.11" + "@babel/plugin-transform-modules-amd" "^7.23.0" + "@babel/plugin-transform-modules-commonjs" "^7.23.0" + "@babel/plugin-transform-modules-systemjs" "^7.23.0" "@babel/plugin-transform-modules-umd" "^7.22.5" "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" "@babel/plugin-transform-new-target" "^7.22.5" @@ -1218,7 +1213,7 @@ "@babel/plugin-transform-object-rest-spread" "^7.22.15" "@babel/plugin-transform-object-super" "^7.22.5" "@babel/plugin-transform-optional-catch-binding" "^7.22.11" - "@babel/plugin-transform-optional-chaining" "^7.22.15" + "@babel/plugin-transform-optional-chaining" "^7.23.0" "@babel/plugin-transform-parameters" "^7.22.15" "@babel/plugin-transform-private-methods" "^7.22.5" "@babel/plugin-transform-private-property-in-object" "^7.22.11" @@ -1235,10 +1230,10 @@ "@babel/plugin-transform-unicode-regex" "^7.22.5" "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" "@babel/preset-modules" "0.1.6-no-external-plugins" - "@babel/types" "^7.22.19" - babel-plugin-polyfill-corejs2 "^0.4.5" - babel-plugin-polyfill-corejs3 "^0.8.3" - babel-plugin-polyfill-regenerator "^0.5.2" + "@babel/types" "^7.23.0" + babel-plugin-polyfill-corejs2 "^0.4.6" + babel-plugin-polyfill-corejs3 "^0.8.5" + babel-plugin-polyfill-regenerator "^0.5.3" core-js-compat "^3.31.0" semver "^6.3.1" @@ -1279,21 +1274,21 @@ integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== "@babel/runtime-corejs2@^7.2.0": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.22.15.tgz#3f1de780aabb51ca9bfdc857f541eb8a2a8356fd" - integrity sha512-CcAMW2o5uqgeXIXYYPrgmaYj1HOLvQb2DrBi7+bELD4nUVSKk+Sth+yYuGqSRf+aAiOv3sIZJTUiJBhoASJRLg== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.23.2.tgz#a482c6e233fb2efa6456ce299da1b440b87260ed" + integrity sha512-lTwRWGcAUBANnxD0A4c5/wKQ0eLhgdAy9kdY2rzTmmliumBQ8u8awykMnaQAnZR3PC47jLRjGoj+hozZqy9Bww== dependencies: core-js "^2.6.12" regenerator-runtime "^0.14.0" "@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.15.tgz#38f46494ccf6cf020bd4eed7124b425e83e523b8" - integrity sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA== + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" + integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== dependencies: regenerator-runtime "^0.14.0" -"@babel/template@^7.22.15": +"@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== @@ -1302,38 +1297,29 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/template@^7.22.5", "@babel/template@^7.3.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== - dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" - -"@babel/traverse@^7.22.15", "@babel/traverse@^7.22.20", "@babel/traverse@^7.7.0": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.20.tgz#db572d9cb5c79e02d83e5618b82f6991c07584c9" - integrity sha512-eU260mPZbU7mZ0N+X10pxXhQFMGTeLb9eFS0mxehS8HZp9o1uSnFeWQuG1UPrlxgA7QoUzFhOnilHDp0AXCyHw== +"@babel/traverse@^7.23.2", "@babel/traverse@^7.7.0": + version "7.23.2" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" + integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== dependencies: "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.22.15" + "@babel/generator" "^7.23.0" "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.22.5" + "@babel/helper-function-name" "^7.23.0" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.16" - "@babel/types" "^7.22.19" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.6": - version "7.22.19" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.19.tgz#7425343253556916e440e662bb221a93ddb75684" - integrity sha512-P7LAw/LbojPzkgp5oznjE6tQEIWbp4PkkfrZDINTro9zgBRtI324/EYsiSI7lhPbpIQ+DCeR2NNmMWANGGfZsg== +"@babel/types@^7.0.0", "@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.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0", "@babel/types@^7.9.6": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== dependencies: "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.19" + "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1350,7 +1336,6 @@ preact "^10.11.2" "@casl/ability-v6@npm:@casl/ability@^6.5.0", "@casl/ability@6.5.0": - name "@casl/ability-v6" version "6.5.0" resolved "https://registry.yarnpkg.com/@casl/ability/-/ability-6.5.0.tgz#a151a7637886099b8ffe52a96601225004a5c157" integrity sha512-3guc94ugr5ylZQIpJTLz0CDfwNi0mxKVECj1vJUPAvs+Lwunh/dcuUjwzc4MHM9D8JOYX0XUZMEPedpB3vIbOw== @@ -1374,6 +1359,11 @@ resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== +"@colors/colors@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.6.0.tgz#ec6cd237440700bc23ca23087f513c75508958b0" + integrity sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA== + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -1470,9 +1460,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.6.1": - version "4.8.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.8.0.tgz#11195513186f68d42fbf449f9a7136b2c0c92005" - integrity sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg== + version "4.9.1" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.9.1.tgz#449dfa81a57a1d755b09aa58d826c1262e4283b4" + integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== "@eslint/eslintrc@^2.1.2": version "2.1.2" @@ -1489,16 +1479,21 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.48.0": - version "8.48.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.48.0.tgz#642633964e217905436033a2bd08bf322849b7fb" - integrity sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw== - "@eslint/js@8.50.0": version "8.50.0" resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484" integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ== +"@eslint/js@8.51.0": + version "8.51.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.51.0.tgz#6d419c240cfb2b66da37df230f7e7eef801c32fa" + integrity sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg== + +"@fastify/busboy@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.0.0.tgz#f22824caff3ae506b18207bad4126dbc6ccdb6b8" + integrity sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ== + "@gar/promisify@^1.0.1": version "1.1.3" resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" @@ -1548,7 +1543,7 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.11.10", "@humanwhocodes/config-array@^0.11.11": +"@humanwhocodes/config-array@^0.11.11": version "0.11.11" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844" integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== @@ -1940,19 +1935,19 @@ resolved "https://registry.yarnpkg.com/@mdi/font/-/font-6.9.96.tgz#c68da7e0895885dd09e60dc08c5ecc0d77f67efb" integrity sha512-z3QVZStyHVwkDsFR7A7F2PIvZJPWgdSFw4BEEy2Gc9HUN5NfK9mGbjgaYClRcbMWiYEV45srmiYtczmBtCqR8w== -"@monaco-editor/loader@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.3.3.tgz#7f1742bd3cc21c0362a46a4056317f6e5215cfca" - integrity sha512-6KKF4CTzcJiS8BJwtxtfyYt9shBiEv32ateQ9T4UVogwn4HM/uPo9iJd2Dmbkpz8CM6Y0PDUpjnZzCwC+eYo2Q== +"@monaco-editor/loader@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/loader/-/loader-1.4.0.tgz#f08227057331ec890fa1e903912a5b711a2ad558" + integrity sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg== dependencies: state-local "^1.0.6" "@monaco-editor/react@^4.5.2": - version "4.5.2" - resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.5.2.tgz#e8cc802203f729b423a998ea6fcb466604d61258" - integrity sha512-emcWu6vg1OpXPiYll4aPOaXe8bwYB4UaaNTwtArFLgMoNGBzRZb2Xn0Bra2HMIFM7QLgs7fCGunHO5LkfT2LBA== + version "4.6.0" + resolved "https://registry.yarnpkg.com/@monaco-editor/react/-/react-4.6.0.tgz#bcc68671e358a21c3814566b865a54b191e24119" + integrity sha512-RFkU9/i7cN2bsq/iTkurMWOEErmYcY6JiQI3Jn+WeR/FGISH8JbHERjpS9oRuSOPvDMJI0Z8nJeKkbOs9sBYQw== dependencies: - "@monaco-editor/loader" "^1.3.3" + "@monaco-editor/loader" "^1.4.0" "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" @@ -2084,11 +2079,11 @@ integrity sha512-UdkG3mLEqXgnlKsWanWcgb6dOjUzJ+XC5f+aWw30qrtjxeNUSfKX1cd5FBzOaXQumoe9nIqeZUvrRJS03HCCtw== "@playwright/test@^1.30.0": - version "1.38.0" - resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.38.0.tgz#0ad33f62394d6a9cb768d0ddfa93b12304c64e13" - integrity sha512-xis/RXXsLxwThKnlIXouxmIvvT3zvQj1JE39GsNieMUrMpb3/GySHDh2j8itCG22qKVD4MYLBp7xB73cUW/UUw== + version "1.39.0" + resolved "https://registry.yarnpkg.com/@playwright/test/-/test-1.39.0.tgz#d10ba8e38e44104499e25001945f07faa9fa91cd" + integrity sha512-3u1iFqgzl7zr004bGPYiN/5EZpRUSFddQBra8Rqll5N0/vfpqlP9I9EXqAoGacuAbX6c9Ulg/Cjqglp5VkK6UQ== dependencies: - playwright "1.38.0" + playwright "1.39.0" "@puppeteer/browsers@0.5.0": version "0.5.0" @@ -2158,20 +2153,7 @@ classnames "^2.3.2" rc-util "^5.24.4" -"@rc-component/trigger@^1.0.4", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.6.2", "@rc-component/trigger@^1.7.0": - version "1.15.6" - resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.15.6.tgz#ccb71f16229e832e15b3869817cbe24f5e59b54c" - integrity sha512-Tl19KaGsShf4yzqxumsXVT4c7j0l20Dxe5hgP5S0HmxyhCg3oKen28ntGavRCIPW7cl7wgsGotntqcIokgDHzg== - dependencies: - "@babel/runtime" "^7.18.3" - "@rc-component/portal" "^1.1.0" - classnames "^2.3.2" - rc-align "^4.0.0" - rc-motion "^2.0.0" - rc-resize-observer "^1.3.1" - rc-util "^5.33.0" - -"@rc-component/trigger@^1.16.0": +"@rc-component/trigger@^1.0.4", "@rc-component/trigger@^1.16.0", "@rc-component/trigger@^1.17.0", "@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": version "1.17.0" resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.17.0.tgz#4d9522ae3ceb482dc4c35cbb1f84021bd94d7414" integrity sha512-KN+lKHCi7L4kjuA9DU2PnwZxtIyes6R1wsexp0/Rnjr/ITELsPuC9kpzDK1+7AZMarDXUAHUdDGS2zUNEx2P0g== @@ -2250,9 +2232,9 @@ "@root/encoding" "^1.0.1" "@rushstack/eslint-patch@^1.3.3": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.5.0.tgz#5143b0da9c536bfe8beddfeb68bb8b5d647cc7a3" - integrity sha512-EF3948ckf3f5uPgYbQ6GhyA56Dmv8yg0+ir+BroRjwdxyZJsekhZzawOecC2rOTPCz173t7ZcR1HHZu0dZgOCw== + version "1.5.1" + resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz#5f1b518ec5fa54437c0b7c4a821546c64fed6922" + integrity sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA== "@sideway/address@^4.1.3": version "4.1.4" @@ -2483,37 +2465,37 @@ integrity sha512-orGL5LXERPYsLov6CWs3Fh6203+dXzJkR7OnddIr2514Hsecwc8xRpzCapshBbKFImCsvS/mk6+FWiN5LyZJAQ== "@types/debug@^4.1.6": - version "4.1.8" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317" - integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ== + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.9.tgz#906996938bc672aaf2fb8c0d3733ae1dda05b005" + integrity sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow== dependencies: "@types/ms" "*" "@types/eslint-scope@^3.7.3": - version "3.7.4" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" - integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + version "3.7.5" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.5.tgz#e28b09dbb1d9d35fdfa8a884225f00440dfc5a3e" + integrity sha512-JNvhIEyxVW6EoMIFIvj93ZOywYFatlpu9deeH6eSx6PE3WHYvHaQtmHmQeNw7aA81bYGBPPQqdtBm6b1SsQMmA== dependencies: "@types/eslint" "*" "@types/estree" "*" "@types/eslint@*": - version "8.44.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.2.tgz#0d21c505f98a89b8dd4d37fa162b09da6089199a" - integrity sha512-sdPRb9K6iL5XZOmBubg8yiFp5yS/JdUDQsq5e6h95km91MCYMuvp7mh1fjPEYUhvHepKpZOjnEaMBR4PxjWDzg== + version "8.44.4" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.44.4.tgz#28eaff82e1ca0a96554ec5bb0188f10ae1a74c2f" + integrity sha512-lOzjyfY/D9QR4hY9oblZ76B90MYTB3RrQ4z2vBIJKj9ROCRqdkYl2gSUx1x1a4IWPjKJZLL4Aw1Zfay7eMnmnA== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*", "@types/estree@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" - integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + version "1.0.2" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.2.tgz#ff02bc3dc8317cd668dfec247b750ba1f1d62453" + integrity sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA== "@types/express-serve-static-core@^4.17.33": - version "4.17.36" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.36.tgz#baa9022119bdc05a4adfe740ffc97b5f9360e545" - integrity sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q== + version "4.17.37" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.37.tgz#7e4b7b59da9142138a2aaa7621f5abedce8c7320" + integrity sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg== dependencies: "@types/node" "*" "@types/qs" "*" @@ -2521,9 +2503,9 @@ "@types/send" "*" "@types/express@^4.11.1": - version "4.17.17" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" - integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== + version "4.17.19" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.19.tgz#6ff9b4851fda132c5d3dcd2f89fdb6a7a0031ced" + integrity sha512-UtOfBtzN9OvpZPPbnnYunfjM7XCI4jyk1NvnFhTVz5krYAnW4o5DCoIekvms+8ApqhB4+9wSge1kBijdfTSmfg== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.33" @@ -2568,9 +2550,9 @@ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#412e0725ef41cde73bfa03e0e833eaff41e0fd63" + integrity sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ== dependencies: "@types/istanbul-lib-coverage" "*" @@ -2583,9 +2565,9 @@ "@types/istanbul-lib-report" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz#edc8e421991a3b4df875036d381fc0a5a982f549" + integrity sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A== dependencies: "@types/istanbul-lib-report" "*" @@ -2628,9 +2610,9 @@ integrity sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g== "@types/lodash@^4.14.175": - version "4.14.198" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.198.tgz#4d27465257011aedc741a809f1269941fa2c5d4c" - integrity sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg== + version "4.14.199" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.199.tgz#c3edb5650149d847a277a8961a7ad360c474e9bf" + integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== "@types/markdown-it@^12.2.3": version "12.2.3" @@ -2641,19 +2623,19 @@ "@types/mdurl" "*" "@types/mdurl@*": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" - integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== + version "1.0.3" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.3.tgz#d0aefccdd1a96f4bec76047d6b314601f0b0f3de" + integrity sha512-T5k6kTXak79gwmIOaDF2UUQXFbnBE0zBUzF20pz7wDYu0RQMzWg+Ml/Pz50214NsFHBITkoi5VtdjFZnJ2ijjA== "@types/mime@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.2.tgz#c1ae807f13d308ee7511a5b81c74f327028e66e8" + integrity sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ== "@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + version "1.3.3" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.3.tgz#bbe64987e0eb05de150c305005055c7ad784a9ce" + integrity sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg== "@types/minimatch@*": version "5.1.2" @@ -2661,14 +2643,16 @@ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA== "@types/ms@*": - version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" - integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== + version "0.7.32" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.32.tgz#f6cd08939ae3ad886fcc92ef7f0109dacddf61ab" + integrity sha512-xPSg0jm4mqgEkNhowKgZFBNtwoEwF6gJ4Dhww+GFpm3IgtNseHQZ5IqdNwnquZEoANxyDAKDRAdVo4Z72VvD/g== "@types/node@*", "@types/node@>=10.0.0": - version "20.6.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.6.3.tgz#5b763b321cd3b80f6b8dde7a37e1a77ff9358dd9" - integrity sha512-HksnYH4Ljr4VQgEy2lTStbCKv/P590tmPe5HqOnv9Gprffgv5WXAY+Y5Gqniu0GGqeTCUdBnzC3QSrzPkBkAMA== + version "20.8.4" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.4.tgz#0e9ebb2ff29d5c3302fc84477d066fa7c6b441aa" + integrity sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A== + dependencies: + undici-types "~5.25.1" "@types/node@12.12.24": version "12.12.24" @@ -2681,14 +2665,14 @@ integrity sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ== "@types/node@^16.11.26": - version "16.18.53" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.53.tgz#21820fe4d5968aaf8071dabd1ee13d24ada1350a" - integrity sha512-vVmHeo4tpF8zsknALU90Hh24VueYdu45ZlXzYWFbom61YR4avJqTFDC3QlWzjuTdAv6/3xHaxiO9NrtVZXrkmw== + version "16.18.58" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.58.tgz#bf66f63983104ed57c754f4e84ccaf16f8235adb" + integrity sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA== "@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.2.tgz#9b0e3e8533fe5024ad32d6637eb9589988b6fdca" + integrity sha512-lqa4UEhhv/2sjjIQgjX8B+RBjj47eo0mzGasklVJ78UKGQY1r0VpB9XHDaZZO9qzEFDdy4MrXLuEaSmPrPSe/A== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2696,17 +2680,17 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/plist@^3.0.1": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.2.tgz#61b3727bba0f5c462fe333542534a0c3e19ccb01" - integrity sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw== + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/plist/-/plist-3.0.3.tgz#8571d797ed09e0ee2700f7e40bbdec7fd80966ef" + integrity sha512-DXkBoKc7jwUR0p439icInmXXMJNhoImdpOrrgA5/nDFK7LVtcJ9MyQNKhJEKpEztnHGWnNWMWLOIR62By0Ln0A== dependencies: "@types/node" "*" xmlbuilder ">=11.0.1" "@types/prop-types@*": - version "15.7.6" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.6.tgz#bbf819813d6be21011b8f5801058498bec555572" - integrity sha512-RK/kBbYOQQHLYj9Z95eh7S6t7gq4Ojt/NT8HTk8bWVhA5DaF+5SMnxHKkP4gPNN3wAZkKP+VjAf0ebtYzf+fxg== + version "15.7.8" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.8.tgz#805eae6e8f41bd19e88917d2ea200dc992f405d3" + integrity sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ== "@types/q@^1.5.1": version "1.5.6" @@ -2719,14 +2703,14 @@ integrity sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg== "@types/raf@^3.4.0": - version "3.4.0" - resolved "https://registry.yarnpkg.com/@types/raf/-/raf-3.4.0.tgz#2b72cbd55405e071f1c4d29992638e022b20acc2" - integrity sha512-taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw== + version "3.4.1" + resolved "https://registry.yarnpkg.com/@types/raf/-/raf-3.4.1.tgz#dfeeb7f6d951b9f9ed27956920494b594c43d75d" + integrity sha512-1jJ3OO8FXHCcuVXCuO1EMC/MjDuT6/cxgsMw/UebkO9afnL99Y5QTpUjk7+flK4G5FzBVJEgDKL5eFtoxJs9MQ== "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + version "1.2.5" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.5.tgz#38bd1733ae299620771bd414837ade2e57757498" + integrity sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA== "@types/react-dom@18.2.8": version "18.2.8" @@ -2736,9 +2720,9 @@ "@types/react" "*" "@types/react@*": - version "18.2.21" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.21.tgz#774c37fd01b522d0b91aed04811b58e4e0514ed9" - integrity sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA== + version "18.2.28" + resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.28.tgz#86877465c0fcf751659a36c769ecedfcfacee332" + integrity sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2754,43 +2738,43 @@ csstype "^3.0.2" "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== + version "1.0.1" + resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.1.tgz#1dd57e54509b3b95c7958e52709567077019d65d" + integrity sha512-TiGnitEDxj2X0j+98Eqk5lv/Cij8oHd32bU4D/Yw6AOq7vvTk0gSD2GPj0G/HkvhMoVsdlhYF4yqqlyPBTM6Sg== dependencies: "@types/node" "*" "@types/scheduler@*": - version "0.16.3" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5" - integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ== + version "0.16.4" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.4.tgz#fedc3e5b15c26dc18faae96bf1317487cb3658cf" + integrity sha512-2L9ifAGl7wmXwP4v3pN4p2FLhD0O1qsJpvKmNin5VA8+UvNVb447UDaAEV6UdrkA+m/Xs58U1RFps44x6TFsVQ== "@types/semver@^7.3.12": - version "7.5.2" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.2.tgz#31f6eec1ed7ec23f4f05608d3a2d381df041f564" - integrity sha512-7aqorHYgdNO4DM36stTiGO3DvKoex9TQRwsJU6vMaFGyqpBA1MNZkz+PG3gaNUPpTAOYhT1WR7M1JyA3fbS9Cw== + version "7.5.3" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.3.tgz#9a726e116beb26c24f1ccd6850201e1246122e04" + integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== "@types/send@*": - version "0.17.1" - resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" - integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== + version "0.17.2" + resolved "https://registry.yarnpkg.com/@types/send/-/send-0.17.2.tgz#af78a4495e3c2b79bfbdac3955fdd50e03cc98f2" + integrity sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw== dependencies: "@types/mime" "^1" "@types/node" "*" "@types/serve-static@*": - version "1.15.2" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a" - integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw== + version "1.15.3" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.3.tgz#2cfacfd1fd4520bbc3e292cca432d5e8e2e3ee61" + integrity sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg== dependencies: "@types/http-errors" "*" "@types/mime" "*" "@types/node" "*" "@types/source-list-map@*": - version "0.1.2" - resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" - integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + version "0.1.3" + resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.3.tgz#077e15c87fe06520e30396a533bd9848e735ce9b" + integrity sha512-I9R/7fUjzUOyDy6AFkehCK711wWoAXEaBi80AfjZt1lIkbe6AcXKd3ckQc3liMvQExWvfOeh/8CtKzrfUFN5gA== "@types/stack-utils@^1.0.1": version "1.0.1" @@ -2830,33 +2814,33 @@ source-map "^0.6.1" "@types/uuid@^9.0.1": - version "9.0.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.4.tgz#e884a59338da907bda8d2ed03e01c5c49d036f1c" - integrity sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA== + version "9.0.5" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.5.tgz#25a71eb73eba95ac0e559ff3dd018fc08294acf6" + integrity sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ== "@types/verror@^1.10.3": - version "1.10.6" - resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.6.tgz#3e600c62d210c5826460858f84bcbb65805460bb" - integrity sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ== + version "1.10.7" + resolved "https://registry.yarnpkg.com/@types/verror/-/verror-1.10.7.tgz#7e2ee21514355a7ae354fa151d96856d18531f72" + integrity sha512-4c5F4T0qMSoXq1KHx7WV1FMuD2h0xdaFoJ7HSVWUfQ8w5YbqCwLOA8K7/yy1I+Txuzvm417dnPUaLmqazX1F7g== "@types/webpack-env@^1.15.2": - version "1.18.1" - resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.1.tgz#49699bb508961e14a3bfb68c78cd87b296889d1d" - integrity sha512-D0HJET2/UY6k9L6y3f5BL+IDxZmPkYmPT4+qBrRdmRLYRuV0qNKizMgTvYxXZYn+36zjPeoDZAEYBCM6XB+gww== + version "1.18.2" + resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.18.2.tgz#0264bc30c0c4a073118ce5b26c5ef143da4374df" + integrity sha512-BFqcTHHTrrI8EBmIzNAmLPP3IqtEG9J1IPFWbPeS/F0/TGNmo0pI5svOa7JbMF9vSCXQCvJWT2gxLJNVuf9blw== "@types/webpack-sources@*": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" - integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== + version "3.2.1" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.1.tgz#98670b35fa799c44ac235910f3fda9bfdcdbc2c6" + integrity sha512-iLC3Fsx62ejm3ST3PQ8vBMC54Rb3EoCprZjeJGI5q+9QjfDLGt9jeg/k245qz1G9AQnORGk0vqPicJFPT1QODQ== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4.4.31": - version "4.41.33" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.33.tgz#16164845a5be6a306bcbe554a8e67f9cac215ffc" - integrity sha512-PPajH64Ft2vWevkerISMtnZ8rTs4YmRbs+23c402J0INmxDKCrhZNvwZYtzx96gY2wAtXdrK1BS2fiC8MlLr3g== + version "4.41.34" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.34.tgz#8cf616be84b39c8fb26f9459d4470a5514df2477" + integrity sha512-CN2aOGrR3zbMc2v+cKqzaClYP1ldkpPOgtdNvgX+RmlWCSWxHxpzz6WSCVQZRkF8D60ROlkRzAoEpgjWQ+bd2g== dependencies: "@types/node" "*" "@types/tapable" "^1" @@ -2866,9 +2850,9 @@ source-map "^0.6.0" "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== + version "21.0.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b" + integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== "@types/yargs@^13.0.0": version "13.0.12" @@ -2878,35 +2862,35 @@ "@types/yargs-parser" "*" "@types/yargs@^15.0.0": - version "15.0.15" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.15.tgz#e609a2b1ef9e05d90489c2f5f45bbfb2be092158" - integrity sha512-IziEYMU9XoVj8hWg7k+UJrXALkGFjWJhn5QFEv9q4p+v40oZhSuC135M38st8XPjICL7Ey4TV64ferBGUoJhBg== + version "15.0.16" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.16.tgz#258009dc52907e8f03041eb64ffdac297ba4b208" + integrity sha512-2FeD5qezW3FvLpZ0JpfuaEWepgNLl9b2gQYiz/ce0NhoB1W/D+VZu98phITXkADYerfr/jb7JcDcVhITsc9bwg== dependencies: "@types/yargs-parser" "*" "@types/yargs@^17.0.1", "@types/yargs@^17.0.8": - version "17.0.24" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902" - integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw== + version "17.0.28" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.28.tgz#d106e4301fbacde3d1796ab27374dd16588ec851" + integrity sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw== dependencies: "@types/yargs-parser" "*" "@types/yauzl@^2.9.1": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" - integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== + version "2.10.1" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.1.tgz#4e8f299f0934d60f36c74f59cb5a8483fd786691" + integrity sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw== dependencies: "@types/node" "*" "@typescript-eslint/parser@^5.4.2 || ^6.0.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.6.0.tgz#fe323a7b4eafb6d5ea82b96216561810394a739e" - integrity sha512-setq5aJgUwtzGrhW177/i+DMLqBaJbdwGj2CPIVFFLE0NCliy5ujIdLHd2D1ysmlmsjdL2GWW+hR85neEfc12w== - dependencies: - "@typescript-eslint/scope-manager" "6.6.0" - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/typescript-estree" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.7.5.tgz#8d7ca3d1fbd9d5a58cc4d30b2aa797a760137886" + integrity sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw== + dependencies: + "@typescript-eslint/scope-manager" "6.7.5" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/typescript-estree" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" "@typescript-eslint/scope-manager@5.62.0": @@ -2917,23 +2901,23 @@ "@typescript-eslint/types" "5.62.0" "@typescript-eslint/visitor-keys" "5.62.0" -"@typescript-eslint/scope-manager@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.6.0.tgz#57105d4419d6de971f7d2c30a2ff4ac40003f61a" - integrity sha512-pT08u5W/GT4KjPUmEtc2kSYvrH8x89cVzkA0Sy2aaOUIw6YxOIjA8ilwLr/1fLjOedX1QAuBpG9XggWqIIfERw== +"@typescript-eslint/scope-manager@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.7.5.tgz#1cf33b991043886cd67f4f3600b8e122fc14e711" + integrity sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A== dependencies: - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" "@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/types@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.6.0.tgz#95e7ea650a2b28bc5af5ea8907114a48f54618c2" - integrity sha512-CB6QpJQ6BAHlJXdwUmiaXDBmTqIE2bzGTDLADgvqtHWuhfNP3rAOK7kAgRMAET5rDRr9Utt+qAzRBdu3AhR3sg== +"@typescript-eslint/types@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.7.5.tgz#4571320fb9cf669de9a95d9849f922c3af809790" + integrity sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -2948,13 +2932,13 @@ semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.6.0.tgz#373c420d2e12c28220f4a83352280a04823a91b7" - integrity sha512-hMcTQ6Al8MP2E6JKBAaSxSVw5bDhdmbCEhGW/V8QXkb9oNsFkA4SBuOMYVPxD3jbtQ4R/vSODBsr76R6fP3tbA== +"@typescript-eslint/typescript-estree@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.5.tgz#4578de1a26e9f24950f029a4f00d1bfe41f15a39" + integrity sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg== dependencies: - "@typescript-eslint/types" "6.6.0" - "@typescript-eslint/visitor-keys" "6.6.0" + "@typescript-eslint/types" "6.7.5" + "@typescript-eslint/visitor-keys" "6.7.5" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" @@ -2983,12 +2967,12 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" -"@typescript-eslint/visitor-keys@6.6.0": - version "6.6.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.6.0.tgz#1109088b4346c8b2446f3845db526374d9a3bafc" - integrity sha512-L61uJT26cMOfFQ+lMZKoJNbAEckLe539VhTxiGHrWl5XSKQgA0RTBZJW2HFPy5T0ZvPVSD93QsrTKDkfNwJGyQ== +"@typescript-eslint/visitor-keys@6.7.5": + version "6.7.5" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.5.tgz#84c68d6ceb5b12d5246b918b84f2b79affd6c2f1" + integrity sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg== dependencies: - "@typescript-eslint/types" "6.6.0" + "@typescript-eslint/types" "6.7.5" eslint-visitor-keys "^3.4.1" "@ucast/core@^1.0.0", "@ucast/core@^1.4.1", "@ucast/core@^1.6.1": @@ -4429,9 +4413,9 @@ aws4@^1.8.0: integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== axe-core@^4.6.2: - version "4.8.1" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.1.tgz#6948854183ee7e7eae336b9877c5bafa027998ea" - integrity sha512-9l850jDDPnKq48nbad8SiEelCv4OrUWrKab/cPj0GScVg6cb6NbCCt/Ulk26QEq5jP9NnGr04Bit1BHyV6r5CQ== + version "4.8.2" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.2.tgz#2f6f3cde40935825cf4465e3c1c9e77b240ff6ae" + integrity sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g== axios@^0.19.0: version "0.19.2" @@ -4732,29 +4716,29 @@ babel-plugin-module-resolver@3.2.0: reselect "^3.0.1" resolve "^1.4.0" -babel-plugin-polyfill-corejs2@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c" - integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg== +babel-plugin-polyfill-corejs2@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz#b2df0251d8e99f229a8e60fc4efa9a68b41c8313" + integrity sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q== dependencies: "@babel/compat-data" "^7.22.6" - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.4.3" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz#b4f719d0ad9bb8e0c23e3e630c0c8ec6dd7a1c52" - integrity sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA== +babel-plugin-polyfill-corejs3@^0.8.5: + version "0.8.5" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz#a75fa1b0c3fc5bd6837f9ec465c0f48031b8cab1" + integrity sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" - core-js-compat "^3.31.0" + "@babel/helper-define-polyfill-provider" "^0.4.3" + core-js-compat "^3.32.2" -babel-plugin-polyfill-regenerator@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326" - integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA== +babel-plugin-polyfill-regenerator@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz#d4c49e4b44614607c13fb769bcd85c72bb26a4a5" + integrity sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.4.2" + "@babel/helper-define-polyfill-provider" "^0.4.3" babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" @@ -5407,15 +5391,15 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.21.10, browserslist@^4.21.9, browserslist@^4.3.4, browserslist@^4.5.4: - version "4.21.10" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0" - integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ== +browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.21.9, browserslist@^4.22.1, browserslist@^4.3.4, browserslist@^4.5.4: + version "4.22.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== dependencies: - caniuse-lite "^1.0.30001517" - electron-to-chromium "^1.4.477" + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" node-releases "^2.0.13" - update-browserslist-db "^1.0.11" + update-browserslist-db "^1.0.13" bs-logger@0.x: version "0.2.6" @@ -5554,7 +5538,7 @@ busboy@0.3.1, busboy@^0.3.1: dependencies: dicer "0.3.0" -busboy@1.6.0, busboy@^1.6.0: +busboy@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== @@ -5792,10 +5776,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001517: - version "1.0.30001538" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001538.tgz#9dbc6b9af1ff06b5eb12350c2012b3af56744f3f" - integrity sha512-HWJnhnID+0YMtGlzcp3T9drmBJUVDchPJ08tpUGFLs9CYlwWPH2uLgpHn8fND5pCgXVtnGS3H4QR9XLMHVNkHw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001541: + version "1.0.30001547" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001547.tgz#d4f92efc488aab3c7f92c738d3977c2a3180472b" + integrity sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA== canonicalize@^1.0.1: version "1.0.8" @@ -6043,9 +6027,9 @@ ci-info@^2.0.0: integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== + version "3.9.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -6528,9 +6512,9 @@ compression@^1.7.4: vary "~1.1.2" compute-scroll-into-view@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.0.3.tgz#c418900a5c56e2b04b885b54995df164535962b1" - integrity sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A== + version "3.1.0" + resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-3.1.0.tgz#753f11d972596558d8fe7c6bcbc8497690ab4c87" + integrity sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg== concat-map@0.0.1: version "0.0.1" @@ -6678,7 +6662,7 @@ content-type@^1.0.4, content-type@~1.0.4, content-type@~1.0.5: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.4.0, convert-source-map@^1.5.1, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.4.0, convert-source-map@^1.5.1: 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== @@ -6779,12 +6763,12 @@ copy-webpack-plugin@^4.6.0: p-limit "^1.0.0" serialize-javascript "^1.4.0" -core-js-compat@^3.31.0, core-js-compat@^3.6.2: - version "3.32.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.2.tgz#8047d1a8b3ac4e639f0d4f66d4431aa3b16e004c" - integrity sha512-+GjlguTDINOijtVRUxrQOv3kfu9rl+qPNdX2LTbJ/ZyVTuxK+ksVSAGX1nHstu4hrv1En/uPTtWgq2gI5wt4AQ== +core-js-compat@^3.31.0, core-js-compat@^3.32.2, core-js-compat@^3.6.2: + version "3.33.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.33.0.tgz#24aa230b228406450b2277b7c8bfebae932df966" + integrity sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw== dependencies: - browserslist "^4.21.10" + browserslist "^4.22.1" core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.12, core-js@^2.6.5: version "2.6.12" @@ -6792,9 +6776,9 @@ core-js@^2.4.0, core-js@^2.5.0, core-js@^2.6.12, core-js@^2.6.5: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.30.2, core-js@^3.6.0, core-js@^3.8.3: - version "3.32.2" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.32.2.tgz#172fb5949ef468f93b4be7841af6ab1f21992db7" - integrity sha512-pxXSw1mYZPDGvTQqEc5vgIb83jGQKFGYWY76z4a7weZXUolw3G+OvpZqSRcfYOoOVUQJYEPsWeQK8pKEnUtWxQ== + version "3.33.0" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.0.tgz#70366dbf737134761edb017990cf5ce6c6369c40" + integrity sha512-HoZr92+ZjFEKar5HS6MC776gYslNOKHt75mEBKWKnPeFDpZ6nH5OeF3S6HFT1mUAUZKrzkez05VboaX8myjSuw== core-util-is@1.0.2: version "1.0.2" @@ -7832,9 +7816,9 @@ diagram-js@^11.4.3, diagram-js@^11.9.1: tiny-svg "^3.0.1" diagram-js@^12.2.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/diagram-js/-/diagram-js-12.3.0.tgz#793de223ac196bf40d279955cc05da049d4c04ee" - integrity sha512-sE9MieoQiifVGPPztVjdDYdU1oJEztN1gG0RksCBNYH0rOTpEnAw4hmRdBqrDsdJen08EmFGfcoTbeZ9W2NCqA== + version "12.4.0" + resolved "https://registry.yarnpkg.com/diagram-js/-/diagram-js-12.4.0.tgz#d9319e8fbe6ca6ccb0932a9c1a11501b783c88e5" + integrity sha512-13FdUkX+HsAnOmfiFtmdPUB3qImsy3ulwLWJ4qZCCY3p4GyTTWSDfsFnowr34CDtBIfpo4HVF9HGIRh9z/a6+A== dependencies: "@bpmn-io/diagram-js-ui" "^0.2.2" clsx "^2.0.0" @@ -8294,10 +8278,10 @@ electron-store@^4.0.0: conf "^5.0.0" type-fest "^0.5.2" -electron-to-chromium@^1.4.477: - version "1.4.526" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.526.tgz#1bcda5f2b8238e497c20fcdb41af5da907a770e2" - integrity sha512-tjjTMjmZAx1g6COrintLTa2/jcafYKxKoiEkdQOrVdbLaHh2wCt2nsAF8ZHweezkrP+dl/VG9T5nabcYoo0U5Q== +electron-to-chromium@^1.4.535: + version "1.4.551" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.551.tgz#14db6660a88f66ce095ea2657abe5653bc7f42ed" + integrity sha512-/Ng/W/kFv7wdEHYzxdK7Cv0BHEGSkSB3M0Ssl8Ndr1eMiYeas/+Mv4cNaDqamqWx6nd2uQZfPz6g25z25M/sdw== electron@^21.1.1: version "21.4.4" @@ -8425,9 +8409,9 @@ engine.io@~3.6.0: ws "~7.4.2" engine.io@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.2.tgz#769348ced9d56bd47bd83d308ec1c3375e85937c" - integrity sha512-IXsMcGpw/xRfjra46sVZVHiSWo/nJ/3g1337q9KNXtS6YRzbW5yIzTCb9DjhrBe7r3GZQR0I4+nq+4ODk5g/cA== + version "6.5.3" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.5.3.tgz#80b0692912cef3a417e1b7433301d6397bf0374b" + integrity sha512-IML/R4eG/pUS5w7OfcDE0jKrljWS9nwnEfsxWCIJF5eO6AHo6+Hlv+lQbdlAYsiJPHzUthLm1RUjnBzWOs45cw== dependencies: "@types/cookie" "^0.4.1" "@types/cors" "^2.8.12" @@ -8721,9 +8705,9 @@ eslint-import-resolver-node@^0.3.6, eslint-import-resolver-node@^0.3.7: resolve "^1.22.4" eslint-import-resolver-typescript@^3.5.2: - version "3.6.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.0.tgz#36f93e1eb65a635e688e16cae4bead54552e3bbd" - integrity sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg== + version "3.6.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz#7b983680edd3f1c5bce1a5829ae0bc2d57fe9efa" + integrity sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg== dependencies: debug "^4.3.4" enhanced-resolve "^5.12.0" @@ -8799,9 +8783,9 @@ eslint-plugin-import@^2.17.3, eslint-plugin-import@^2.27.5, eslint-plugin-import tsconfig-paths "^3.14.2" eslint-plugin-jest@^27.2.1: - version "27.4.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.4.0.tgz#3926cca723c40c3d7a3fe0e1fd911eff5e681f50" - integrity sha512-ukVeKmMPAUA5SWjHenvyyXnirKfHKMdOsTZdn5tZx5EW05HGVQwBohigjFZGGj3zuv1cV6hc82FvWv6LdIbkgg== + version "27.4.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.4.2.tgz#181d999ac67a9b6040db1d27935887cf5a2882ed" + integrity sha512-3Nfvv3wbq2+PZlRTf2oaAWXWwbdBejFRBR2O8tAO67o+P8zno+QGbcDYaAXODlreXVg+9gvWhKKmG2rgfb8GEg== dependencies: "@typescript-eslint/utils" "^5.10.0" @@ -9071,15 +9055,15 @@ eslint@^5.16.0: text-table "^0.2.0" eslint@^8.39.0: - version "8.48.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.48.0.tgz#bf9998ba520063907ba7bfe4c480dc8be03c2155" - integrity sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg== + version "8.51.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.51.0.tgz#4a82dae60d209ac89a5cff1604fea978ba4950f3" + integrity sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" "@eslint/eslintrc" "^2.1.2" - "@eslint/js" "8.48.0" - "@humanwhocodes/config-array" "^0.11.10" + "@eslint/js" "8.51.0" + "@humanwhocodes/config-array" "^0.11.11" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" ajv "^6.12.4" @@ -9885,11 +9869,11 @@ flat-cache@^2.0.1: write "1.0.3" flat-cache@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.0.tgz#0e54ab4a1a60fe87e2946b6b00657f1c99e1af3f" - integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== + version "3.1.1" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" + integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== dependencies: - flatted "^3.2.7" + flatted "^3.2.9" keyv "^4.5.3" rimraf "^3.0.2" @@ -9898,7 +9882,7 @@ flatted@^2.0.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== -flatted@^3.2.7: +flatted@^3.2.9: version "3.2.9" resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== @@ -10087,9 +10071,9 @@ fs-minipass@^2.0.0: minipass "^3.0.0" fs-monkey@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" - integrity sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ== + 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-write-stream-atomic@^1.0.8: version "1.0.10" @@ -10236,9 +10220,9 @@ get-symbol-description@^1.0.0: get-intrinsic "^1.1.1" get-tsconfig@^4.5.0: - version "4.7.1" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.1.tgz#3df7bb5d4f5f83486c33e5253c7a0f8375edb798" - integrity sha512-sLtd6Bcwbi9IrAow/raCOTE9pmhvo5ksQo5v2lApUGJMzja64MUYhBp0G6X1S+f7IrBPn1HP+XkS2w2meoGcjg== + version "4.7.2" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.2.tgz#0dcd6fb330391d46332f4c6c1bf89a6514c2ddce" + integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== dependencies: resolve-pkg-maps "^1.0.0" @@ -10418,9 +10402,9 @@ globals@^11.0.1, globals@^11.1.0, globals@^11.7.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.19.0: - version "13.22.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.22.0.tgz#0c9fcb9c48a2494fbb5edbfee644285543eba9d8" - integrity sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw== + version "13.23.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== dependencies: type-fest "^0.20.2" @@ -10791,11 +10775,9 @@ has-yarn@^2.1.0: integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== has@^1.0.0, has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" + version "1.0.4" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" + integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== hash-base@^3.0.0: version "3.1.0" @@ -11627,7 +11609,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.11.0, is-core-module@^2.13.0, is-core-module@^2.9.0: +is-core-module@^2.11.0, is-core-module@^2.13.0: version "2.13.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== @@ -12178,9 +12160,9 @@ istanbul-lib-instrument@^5.0.4: semver "^6.3.0" istanbul-lib-instrument@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.0.tgz#7a8af094cbfff1d5bb280f62ce043695ae8dd5b8" - integrity sha512-x58orMzEVfzPUKqlbLd1hXCnySCxKdDKa6Rjg97CwuLLRI4g3FHTdnExu1OqffVFay6zeMW+T6/DowFLndWnIw== + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== dependencies: "@babel/core" "^7.12.3" "@babel/parser" "^7.14.7" @@ -13070,9 +13052,9 @@ jest@^29.6.2: jest-cli "^29.7.0" joi@^17.4.0: - version "17.10.2" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.10.2.tgz#4ecc348aa89ede0b48335aad172e0f5591e55b29" - integrity sha512-hcVhjBxRNW/is3nNLdGLIjkgXetkeGc2wyhydhz8KumG23Aerk4HPjU5zaPAMRqXQFc0xNqXTC7+zQjxr0GlKA== + version "17.11.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.11.0.tgz#aa9da753578ec7720e6f0ca2c7046996ed04fc1a" + integrity sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ== dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" @@ -13496,9 +13478,9 @@ keyv@^3.0.0: json-buffer "3.0.0" keyv@^4.0.0, keyv@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25" - integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + version "4.5.4" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== dependencies: json-buffer "3.0.1" @@ -13632,19 +13614,19 @@ latest-version@^5.1.0: package-json "^6.3.0" launch-editor-middleware@^2.2.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz#2ba4fe4b695d7fe3d44dee86b6d46d57b8332dfd" - integrity sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA== + version "2.6.1" + resolved "https://registry.yarnpkg.com/launch-editor-middleware/-/launch-editor-middleware-2.6.1.tgz#7f2f400d8dda2283b69d02e9d83b1d272fef2bfb" + integrity sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g== dependencies: - launch-editor "^2.6.0" + launch-editor "^2.6.1" -launch-editor@^2.2.1, launch-editor@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" - integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== +launch-editor@^2.2.1, 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== dependencies: picocolors "^1.0.0" - shell-quote "^1.7.3" + shell-quote "^1.8.1" lazy-cache@^1.0.3: version "1.0.4" @@ -16001,17 +15983,17 @@ platform@^1.3.5: resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== -playwright-core@1.38.0: - version "1.38.0" - resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.38.0.tgz#cb8e135da1c0b1918b070642372040ed9aa7009a" - integrity sha512-f8z1y8J9zvmHoEhKgspmCvOExF2XdcxMW8jNRuX4vkQFrzV4MlZ55iwb5QeyiFQgOFCUolXiRHgpjSEnqvO48g== +playwright-core@1.39.0: + version "1.39.0" + resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.39.0.tgz#efeaea754af4fb170d11845b8da30b2323287c63" + integrity sha512-+k4pdZgs1qiM+OUkSjx96YiKsXsmb59evFoqv8SKO067qBA+Z2s/dCzJij/ZhdQcs2zlTAgRKfeiiLm8PQ2qvw== -playwright@1.38.0: - version "1.38.0" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.38.0.tgz#0ee19d38512b7b1f961c0eb44008a6fed373d206" - integrity sha512-fJGw+HO0YY+fU/F1N57DMO+TmXHTrmr905J05zwAQE9xkuwP/QLDk63rVhmyxh03dYnEhnRbsdbH9B0UVVRB3A== +playwright@1.39.0: + version "1.39.0" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.39.0.tgz#184c81cd6478f8da28bcd9e60e94fcebf566e077" + integrity sha512-naE5QT11uC/Oiq0BwZ50gDmy8c8WLPRTEWuSSFVG2egBka/1qMoSqYQcROMT9zLwJ86oPofcTH2jBY/5wWOgIw== dependencies: - playwright-core "1.38.0" + playwright-core "1.39.0" optionalDependencies: fsevents "2.3.2" @@ -16436,18 +16418,18 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3 source-map "^0.6.1" postcss@^8.4.14: - version "8.4.30" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.30.tgz#0e0648d551a606ef2192a26da4cabafcc09c1aa7" - integrity sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g== + version "8.4.31" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" + integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== dependencies: nanoid "^3.3.6" picocolors "^1.0.0" source-map-js "^1.0.2" preact@^10.11.2: - version "10.17.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.17.1.tgz#0a1b3c658c019e759326b9648c62912cf5c2dde1" - integrity sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA== + version "10.18.1" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.18.1.tgz#3b84bb305f0b05f4ad5784b981d15fcec4e105da" + integrity sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg== preload-webpack-plugin@^2.3.0: version "2.3.0" @@ -16737,9 +16719,9 @@ puppeteer@^19.2.0: puppeteer-core "19.11.1" pure-rand@^6.0.0: - version "6.0.3" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.3.tgz#3c9e6b53c09e52ac3cedffc85ab7c1c7094b38cb" - integrity sha512-KddyFewCsO0j3+np81IQ+SweXLDnDQTs5s67BOnrYmYe/yNmUhttQyGsYzy8yUnoljGAQ9sl38YB4vH8ur7Y+w== + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== q@1.x, q@^1.1.2: version "1.5.1" @@ -17002,12 +16984,12 @@ rc-mentions@~2.8.0: rc-util "^5.34.1" rc-menu@~9.12.0: - version "9.12.0" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.12.0.tgz#4d5c9c57a7658d50256a4000c3bc6260021c7541" - integrity sha512-Apr/fRf5EcqWJ4nphHV6dTGZcLPaPzwY44q9hAtLJysY4rkC9Eg+ekj3uFx6opPWVruV2sJNWq/Po+HHtO48CA== + version "9.12.2" + resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-9.12.2.tgz#1bab34646421224eff5c5b7de993f8ea1238418e" + integrity sha512-NzloFH2pRUYmQ3S/YbJAvRkgCZaLvq0sRa5rgJtuIHLfPPprNHNyepeSlT64+dbVqI4qRWL44VN0lUCldCbbfg== dependencies: "@babel/runtime" "^7.10.1" - "@rc-component/trigger" "^1.6.2" + "@rc-component/trigger" "^1.17.0" classnames "2.x" rc-motion "^2.4.3" rc-overflow "^1.3.1" @@ -17052,9 +17034,9 @@ rc-pagination@~3.6.1: rc-util "^5.32.2" rc-picker@~3.14.1: - version "3.14.3" - resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.14.3.tgz#7ab16b5190cc7aba169fc82f8b7aa06276048365" - integrity sha512-41tVGgYnO1eXiVFTmhOkAyXqJSNTbNgmEGYxzsGzrhnH905yug9Z+6P0DYRaBC829xLxPA8GYpeWtGmm3OMQfw== + version "3.14.5" + resolved "https://registry.yarnpkg.com/rc-picker/-/rc-picker-3.14.5.tgz#fa045a170b7908e3f6ea80dd39113fc84a0fac13" + integrity sha512-h0O8b5AYfWwHSRUUH/9F2oBXB5gZerHIyGG6z2r5rn/kfSQodyCXEO4GNqrG30iUC1qkvLFIOn/JqI4XaO0+2A== dependencies: "@babel/runtime" "^7.10.1" "@rc-component/trigger" "^1.5.0" @@ -17195,18 +17177,7 @@ rc-tree-select@~5.13.0: rc-tree "~5.7.0" rc-util "^5.16.1" -rc-tree@~5.7.0: - version "5.7.10" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.10.tgz#3d66c2a81ffd24cbb8b816e7a747f626e57cb0fc" - integrity sha512-n4UkMQY3bzvJUNnbw6e3YI7sy2kE9c9vAYbSt94qAhcPKtMOThONNr1LIaFB/M5XeFYYrWVbvRVoT8k38eFuSQ== - dependencies: - "@babel/runtime" "^7.10.1" - classnames "2.x" - rc-motion "^2.0.1" - rc-util "^5.16.1" - rc-virtual-list "^3.5.1" - -rc-tree@~5.7.12: +rc-tree@~5.7.0, rc-tree@~5.7.12: version "5.7.12" resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-5.7.12.tgz#6910e551390963708936c2cbf925f9deff4a6d76" integrity sha512-LXA5nY2hG5koIAlHW5sgXgLpOMz+bFRbnZZ+cCg0tQs4Wv1AmY7EDi1SK7iFXhslYockbqUerQan82jljoaItg== @@ -17227,14 +17198,14 @@ rc-upload@~4.3.4: rc-util "^5.2.0" rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.33.0, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0: - version "5.37.0" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.37.0.tgz#6df9a55cb469b41b6995530a45b5f3dd3219a4ea" - integrity sha512-cPMV8DzaHI1KDaS7XPRXAf4J7mtBqjvjikLpQieaeOO7+cEbqY2j7Kso/T0R0OiEZTNcLS/8Zl9YrlXiO9UbjQ== + version "5.38.0" + resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.0.tgz#18a3d1c26ba3c43fabfbe6303e825dabd9e5f4f0" + integrity sha512-yV/YBNdFn+edyBpBdCqkPE29Su0jWcHNgwx2dJbRqMrMfrUcMJUjCRV+ZPhcvWyKFJ63GzEerPrz9JIVo0zXmA== dependencies: "@babel/runtime" "^7.18.3" - react-is "^16.12.0" + react-is "^18.2.0" -rc-virtual-list@^3.11.1: +rc-virtual-list@^3.11.1, rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: version "3.11.2" resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.11.2.tgz#eb859c2257233aff10864f041e5bcc89f7814bb7" integrity sha512-MTFLL2LOHr3+/+r+WjTIs6j8XmJE6EqdOsJvCH8SWig7qyik3aljCEImUtw5tdWR0tQhXUfbv7P7nZaLY91XPg== @@ -17244,16 +17215,6 @@ rc-virtual-list@^3.11.1: rc-resize-observer "^1.0.0" rc-util "^5.36.0" -rc-virtual-list@^3.5.1, rc-virtual-list@^3.5.2: - version "3.10.10" - resolved "https://registry.yarnpkg.com/rc-virtual-list/-/rc-virtual-list-3.10.10.tgz#3840064fad465c9232e5ea6d839e9f8d2c0087d9" - integrity sha512-EqNotqqRLzxFYce9JB/aDtP5fShvgwDVIuEKQeq9qfeNiKmsD4zf/UD+i0LppHtObzDUGtRFSf0HIOfb8FGSPA== - dependencies: - "@babel/runtime" "^7.20.0" - classnames "^2.2.6" - rc-resize-observer "^1.0.0" - rc-util "^5.36.0" - rc@1.2.8, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" @@ -17285,7 +17246,7 @@ react-is@^16.12.0, react-is@^16.13.1, react-is@^16.8.4: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.0.0: +react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== @@ -17735,20 +17696,20 @@ resolve@1.1.7: integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.4, resolve@^1.4.0: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== dependencies: is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== + version "2.0.0-next.5" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" + integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== dependencies: - is-core-module "^2.9.0" + is-core-module "^2.13.0" path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" @@ -18034,7 +17995,12 @@ sass@~1.32: dependencies: chokidar ">=3.0.0 <4.0.0" -sax@^1.1.4, sax@^1.2.4, sax@~1.2.4: +sax@^1.1.4, sax@^1.2.4: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== + +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== @@ -18311,7 +18277,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: version "1.8.1" resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== @@ -18639,7 +18605,7 @@ source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: +source-map@^0.7.3, source-map@^0.7.4: version "0.7.4" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== @@ -18666,9 +18632,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.15" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz#142460aabaca062bc7cd4cc87b7d50725ed6a4ba" - integrity sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ== + version "3.0.16" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" + integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== spdy-transport@^3.0.0: version "3.0.0" @@ -19179,9 +19145,9 @@ superagent@^3.8.3: readable-stream "^2.3.5" superjson@^1.10.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.13.1.tgz#a0b6ab5d22876f6207fcb9d08b0cb2acad8ee5cd" - integrity sha512-AVH2eknm9DEd3qvxM4Sq+LTCkSXE2ssfh1t11MHMXyYXFQyQ1HLgVvV+guLTsaQnJU3gnaVo34TohHPulY/wLg== + version "1.13.3" + resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.13.3.tgz#3bd64046f6c0a47062850bb3180ef352a471f930" + integrity sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg== dependencies: copy-anything "^3.0.2" @@ -19431,9 +19397,9 @@ terser@^4.1.2, terser@^4.8.0: source-map-support "~0.5.12" terser@^5.16.8: - version "5.20.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.20.0.tgz#ea42aea62578703e33def47d5c5b93c49772423e" - integrity sha512-e56ETryaQDyebBwJIWYB2TT6f2EZ0fL0sW/JRXNMN26zZdKi2u/E/5my5lG6jNxym6qsrVXfFRmOdV42zlAgLQ== + version "5.21.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.21.0.tgz#d2b27e92b5e56650bc83b6defa00a110f0b124b2" + integrity sha512-WtnFKrxu9kaoXuiZFSGrcAvvBqAdmKx0SFNmVNYdJamMu9yyN3I/QF0FbH4QcqJQ+y1CJnzxGIKH0cSj+FGYRw== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -19733,9 +19699,9 @@ tryer@^1.0.1: integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== ts-api-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.2.tgz#7c094f753b6705ee4faee25c3c684ade52d66d99" - integrity sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ== + version "1.0.3" + resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== ts-jest@29.1.1: version "29.1.1" @@ -19779,14 +19745,15 @@ ts-loader@8.2.0: semver "^7.3.4" ts-loader@^9.2.5: - version "9.4.4" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.4.4.tgz#6ceaf4d58dcc6979f84125335904920884b7cee4" - integrity sha512-MLukxDHBl8OJ5Dk3y69IsKVFRA/6MwzEqBgh+OXMPB/OD01KQuWPFd1WAQP8a5PeSCAxfnkhiuWqfmFJzJQt9w== + version "9.5.0" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-9.5.0.tgz#f0a51dda37cc4d8e43e6cb14edebbc599b0c3aa2" + integrity sha512-LLlB/pkB4q9mW2yLdFMnK3dEHbrBjeZTYguaaIfusyojBgAGf5kF+O6KcWqiGzWqHk0LBsoolrp4VftEURhybg== dependencies: chalk "^4.1.0" enhanced-resolve "^5.0.0" micromatch "^4.0.0" semver "^7.3.4" + source-map "^0.7.4" ts-node@10.9.1, ts-node@^10.9.1: version "10.9.1" @@ -20052,12 +20019,17 @@ underscore@>=1.4.4, underscore@>=1.8.3, underscore@^1.8.3, underscore@^1.9.1, un resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.6.tgz#04786a1f589dc6c09f761fc5f45b89e935136441" integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== +undici-types@~5.25.1: + version "5.25.3" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" + integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== + undici@^5.22.1: - version "5.25.1" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.25.1.tgz#3fa537eb89a6a0bb576b395f0f7bcdedf7b8336a" - integrity sha512-nTw6b2G2OqP6btYPyghCgV4hSwjJlL/78FMJatVLCa3otj6PCOQSt6dVtYt82OtNqFz8XsnJ+vsXLADPXjPhqw== + version "5.26.3" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.26.3.tgz#ab3527b3d5bb25b12f898dfd22165d472dd71b79" + integrity sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw== dependencies: - busboy "^1.6.0" + "@fastify/busboy" "^2.0.0" unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.0" @@ -20174,7 +20146,7 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -update-browserslist-db@^1.0.11: +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" integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== @@ -20384,13 +20356,13 @@ v8-compile-cache@^2.1.1: integrity sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw== v8-to-istanbul@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz#1b83ed4e397f58c85c266a570fc2558b5feb9265" - integrity sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA== + version "9.1.3" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b" + integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== dependencies: "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" + convert-source-map "^2.0.0" v8flags@^3.1.1: version "3.2.0" @@ -21059,11 +21031,11 @@ winston-transport@^4.5.0: triple-beam "^1.3.0" winston@^3.3.3: - version "3.10.0" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.10.0.tgz#d033cb7bd3ced026fed13bf9d92c55b903116803" - integrity sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g== + version "3.11.0" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.11.0.tgz#2d50b0a695a2758bb1c95279f0a88e858163ed91" + integrity sha512-L3yR6/MzZAOl0DsysUXHVjOwv8mKZ71TrA/41EIduGpOOV5LQVodqN+QdQ6BS6PJ/RdIshZhq84P/fStEZkk7g== dependencies: - "@colors/colors" "1.5.0" + "@colors/colors" "^1.6.0" "@dabh/diagnostics" "^2.0.2" async "^3.2.3" is-stream "^2.0.0" From 1c54999b4a055e06ca960cfbdac237acf1ac1973 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 12 Oct 2023 15:35:27 +0200 Subject: [PATCH 03/20] Made Icon List responsive (grid) Co-authored-by: winniel24 --- .../components/process-icon-list.tsx | 90 +++++++++++++------ .../components/processes.tsx | 34 +++---- .../components/tabcard-model-metadata.tsx | 13 ++- 3 files changed, 91 insertions(+), 46 deletions(-) diff --git a/src/management-system-v2/components/process-icon-list.tsx b/src/management-system-v2/components/process-icon-list.tsx index 176359ea7..28aee6a3a 100644 --- a/src/management-system-v2/components/process-icon-list.tsx +++ b/src/management-system-v2/components/process-icon-list.tsx @@ -1,7 +1,7 @@ 'use client'; import { List } from 'antd'; -import React, { Dispatch, FC, Key, SetStateAction, useState } from 'react'; +import React, { Dispatch, FC, Key, SetStateAction, useEffect, useState } from 'react'; import TabCard from './tabcard-model-metadata'; @@ -24,7 +24,7 @@ const IconView: FC = ({ data, selection, setSelection }) => { }; const prefs: Preferences = getPreferences(); - const layout = prefs['show-process-meta-data'] + let layout = prefs['show-process-meta-data'] ? /* Side-Panel opened: */ { gutter: 16, @@ -47,41 +47,75 @@ const IconView: FC = ({ data, selection, setSelection }) => { }; return ( -
+ {/*
- */} +
( - - { - - } - - )} - /> + > + {data?.map((item, i, arr) => ( + arr.length - 1 - 3} + /> + ))} +
{/* */} -
+ {/*
*/} + ); }; export default IconView; + +// ( +// +// { +// +// } +// +// )} +// /> diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index e91bce0a5..d3dda760d 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -177,7 +177,7 @@ const Processes: FC = () => { <>
{/* 73% for list / icon view, 27% for meta data panel (if active) */} -
+
{ } /> - {iconView ? ( - - ) : ( - - )} +
+ {iconView ? ( + + ) : ( + + )} +
{/* Meta Data Panel */} diff --git a/src/management-system-v2/components/tabcard-model-metadata.tsx b/src/management-system-v2/components/tabcard-model-metadata.tsx index bd8794c5b..439521921 100644 --- a/src/management-system-v2/components/tabcard-model-metadata.tsx +++ b/src/management-system-v2/components/tabcard-model-metadata.tsx @@ -19,6 +19,7 @@ type TabCardProps = { setSelection: Dispatch>; tabcard?: boolean; completeList: Processes; + justify?: boolean; }; const tabList = [ @@ -92,7 +93,14 @@ const generateContentList = (data: Process) => { } as { [key in Tab]: ReactNode }; }; -const TabCard: FC = ({ item, selection, setSelection, tabcard, completeList }) => { +const TabCard: FC = ({ + item, + selection, + setSelection, + tabcard, + completeList, + justify, +}) => { const router = useRouter(); const [activeTabKey, setActiveTabKey] = useState('viewer'); @@ -118,7 +126,8 @@ const TabCard: FC = ({ item, selection, setSelection, tabcard, com style={{ cursor: 'pointer', minHeight: tabcard ? '340px' : '300px', - maxWidth: 'calc(100vw / 5)', + // width: 'calc(100vw / 5)', + // marginBottom: '30px', }} className={classNames({ 'small-tabs': true, From 2565e01beaf5c88ed776c5a58483ff03e3de2bca Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 12 Oct 2023 15:52:20 +0200 Subject: [PATCH 04/20] Merged Main into user-preferences-localstorage --- .gitmodules | 3 ++ .../components/process-icon-list.tsx | 7 ---- .../components/processes.tsx | 36 ++++++++++++++++--- src/management-system-v2/lib/useStore.ts | 17 +++++++++ .../lib/user-preferences.ts | 31 ++++++++++++++++ .../backend/server/environment-configurations | 1 + 6 files changed, 83 insertions(+), 12 deletions(-) create mode 100644 .gitmodules create mode 100644 src/management-system-v2/lib/useStore.ts create mode 100644 src/management-system-v2/lib/user-preferences.ts create mode 160000 src/management-system/src/backend/server/environment-configurations diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..49635594d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "src/management-system/src/backend/server/environment-configurations"] + path = src/management-system/src/backend/server/environment-configurations + url = https://github.com/PROCEED-Labs/environments diff --git a/src/management-system-v2/components/process-icon-list.tsx b/src/management-system-v2/components/process-icon-list.tsx index 28aee6a3a..c7cb48d83 100644 --- a/src/management-system-v2/components/process-icon-list.tsx +++ b/src/management-system-v2/components/process-icon-list.tsx @@ -48,12 +48,6 @@ const IconView: FC = ({ data, selection, setSelection }) => { return ( <> - {/*
*/}
= ({ data, selection, setSelection }) => { ))}
{/* */} - {/*
*/} ); }; diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index d3dda760d..c69fee2db 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -21,6 +21,8 @@ import MetaData from './process-info-card'; import { QueryClient } from '@tanstack/react-query'; import ProcessExportModal from './process-export'; import Bar from './bar'; +import { useUserPreferences } from '@/lib/user-preferences'; +import useStore from '@/lib/useStore'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -61,8 +63,22 @@ const Processes: FC = () => { if (!prefs['icon-view-in-process-list']) { prefs['icon-view-in-process-list'] = false; } + // const prefs: Preferences = getPreferences(); + // if (!prefs['icon-view-in-process-list']) prefs['icon-view-in-process-list'] = false; - const [iconView, setIconView] = useState(prefs['icon-view-in-process-list']); + const preferences = useStore(useUserPreferences, (state) => state.preferences); + + // console.log('preferences', preferences); + + // const addPrefs = useStore(useUserPreferences, (state) => state.addPreferences); + + const addPrefs = useUserPreferences((state) => state.addPreferences); + + // if (!prefs['icon-view-in-process-list']) { + // addPrefs({ 'icon-view-in-process-list': false }); + // } + + // const [iconView, setIconView] = useState(prefs['icon-view-in-process-list']); const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}'); @@ -198,19 +214,29 @@ const Processes: FC = () => { rightNode={
{/* Meta Data Panel */} diff --git a/src/management-system-v2/lib/user-preferences.ts b/src/management-system-v2/lib/user-preferences.ts index f9f24a4f4..a1ceb6b2b 100644 --- a/src/management-system-v2/lib/user-preferences.ts +++ b/src/management-system-v2/lib/user-preferences.ts @@ -1,26 +1,24 @@ import { create } from 'zustand'; import { persist, createJSONStorage } from 'zustand/middleware'; -type PreferencesType = { - preferences: Record; -}; +type PreferencesType = Record; -type PreferencesStoreType = PreferencesType & { - addPreference: (changes: PreferencesType) => void; +type PreferencesStoreType = { + preferences: PreferencesType; + addPreferences: (changes: PreferencesType) => void; }; -export const useUserPreferences = create( +export const useUserPreferences = create()( persist( (set, get) => ({ preferences: { + /* Default User-Settings: */ 'show-process-meta-data': true, 'icon-view-in-process-list': false, }, - // addPreferences: (changes: PreferencesType) => - // set({ preferences: { ...get().preferences, ...changes } }), + addPreferences: (changes: PreferencesType) => { - console.log('changes', changes); - return set({ preferences: { ...get().preferences, ...changes } }); + set((state) => ({ preferences: { ...state.preferences, ...changes } })); }, }), { @@ -29,3 +27,8 @@ export const useUserPreferences = create( }, ), ); + +// addPreferences: (changes: PreferencesType) => { +// const oldPrefs = get().preferences; +// return set({ preferences: { ...oldPrefs, ...changes } }); +// }, From 5436d9deb06e6511df330aeff46a4a1ce323d346 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Fri, 13 Oct 2023 16:54:26 +0200 Subject: [PATCH 06/20] Fixed localstorage (could be refined), fixed delete on row Co-authored-by: winniel24 --- .../components/process-info-card.tsx | 9 ++- .../components/process-list.tsx | 25 +++--- .../components/processes.module.scss | 23 +++--- .../components/processes.tsx | 76 +++++++++---------- .../components/tabcard-model-metadata.tsx | 2 +- src/management-system-v2/lib/useStore.ts | 11 ++- .../lib/user-preferences.ts | 30 ++++++-- 7 files changed, 103 insertions(+), 73 deletions(-) diff --git a/src/management-system-v2/components/process-info-card.tsx b/src/management-system-v2/components/process-info-card.tsx index a33037ac2..d41b3e466 100644 --- a/src/management-system-v2/components/process-info-card.tsx +++ b/src/management-system-v2/components/process-info-card.tsx @@ -21,13 +21,16 @@ type MetaDataType = { const MetaData: FC = ({ data, selection, triggerRerender }) => { /* NEEDS TO BE PLACED IN A FLEX CONTAINER */ + const { preferences } = useStore(useUserPreferences, (state) => state); + // const preferences = useStore(useUserPreferences, (state) => state.preferences); // const addPreferences = useStore(useUserPreferences, (state) => state.addPreferences); - const preferences = useUserPreferences((state) => state.preferences); + // const preferences = useUserPreferences((state) => state.preferences); const addPreferences = useUserPreferences((state) => state.addPreferences); - const [showInfo, setShowInfo] = useState(preferences['show-process-meta-data']); + const showInfo = preferences['show-process-meta-data']; + // const [showInfo, setShowInfo] = useState(preferences['show-process-meta-data']); /* Necessary for Firefox BPMN.js Viewer fix */ const [showViewer, setShowViewer] = useState(showInfo); @@ -74,7 +77,6 @@ const MetaData: FC = ({ data, selection, triggerRerender }) => { onClick={() => { addPreferences({ 'show-process-meta-data': !showInfo }); if (triggerRerender) triggerRerender(); - setShowInfo(!showInfo); }} > @@ -103,7 +105,6 @@ const MetaData: FC = ({ data, selection, triggerRerender }) => { 'show-process-meta-data': !showInfo, }); if (triggerRerender) triggerRerender(); - setShowInfo(!showInfo); }} > diff --git a/src/management-system-v2/components/process-list.tsx b/src/management-system-v2/components/process-list.tsx index df193320e..bd2eb67f4 100644 --- a/src/management-system-v2/components/process-list.tsx +++ b/src/management-system-v2/components/process-list.tsx @@ -7,6 +7,7 @@ import React, { Key, Dispatch, SetStateAction, + use, } from 'react'; import { CopyOutlined, @@ -25,7 +26,7 @@ import useLastClickedStore from '@/lib/use-last-clicked-process-store'; import classNames from 'classnames'; import { generateDateString } from '@/lib/utils'; import { ApiData, useDeleteAsset, usePostAsset } from '@/lib/fetch-data'; -import { QueryClient } from '@tanstack/react-query'; +import { QueryClient, useQueryClient } from '@tanstack/react-query'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -36,6 +37,8 @@ type ProcessListProps = PropsWithChildren<{ setSelection: Dispatch>; isLoading?: boolean; onExportProcess: Dispatch>; + refreshData: any; + // TODO: Fix type }>; const ColumnHeader = [ @@ -65,14 +68,13 @@ const clipText: ColumnType['render'] = (dataIndexElement, record, index const numberOfRows = typeof window !== 'undefined' ? Math.floor((window?.innerHeight - 340) / 47) : 10; -const queryClient = new QueryClient(); - const ProcessList: FC = ({ data, selection, setSelection, isLoading, onExportProcess, + refreshData, }) => { const router = useRouter(); @@ -98,9 +100,13 @@ const ProcessList: FC = ({ }, 200); }; - const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}'); const { mutateAsync: createProcess } = usePostAsset('/process'); + const queryClient = useQueryClient(); + const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}', { + onSettled: refreshData, + }); + const actionBarGenerator = useCallback((record: Process) => { return ( <> @@ -148,17 +154,17 @@ const ProcessList: FC = ({ { + onClick={(e) => { + e.stopPropagation(); deleteProcess({ params: { path: { - definitionId: record.definitionId, + definitionId: record.definitionId as string, }, }, }); - /* TODO: Invalidate query for list */ - const keys = ['/process', { noBpmn: true }]; - queryClient.invalidateQueries(keys); + + setSelection(selection.filter((id) => id !== record.definitionId)); }} /> @@ -181,7 +187,6 @@ const ProcessList: FC = ({ setSelection(selectedRows.map((row) => row.definitionId)); }, onSelectNone: () => { - // setSelection([]); setSelection([]); }, onSelectAll: (selected, selectedRows, changeRows) => { diff --git a/src/management-system-v2/components/processes.module.scss b/src/management-system-v2/components/processes.module.scss index 315f1bce9..b509cdef6 100644 --- a/src/management-system-v2/components/processes.module.scss +++ b/src/management-system-v2/components/processes.module.scss @@ -25,23 +25,22 @@ } .Icons { - margin-left: 10px; - display: inline-flex; - width: 40%; - justify-content: space-around; - align-items: center; - - .Icon { - margin: 0 5px; - cursor: pointer; - transition: color 0.2s; - } + //display: inline-flex; + width: 45%; + //justify-content: space-around; + //align-items: center; .Icon:hover { - color: #dcdcdc; + color: #3e93de; } } +.Icon { + margin: 0 10px; + cursor: pointer; + transition: color 0.2s; +} + .Selectview { justify-self: end; justify-content: end; diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index de52ac116..591de6742 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -1,7 +1,7 @@ 'use client'; import styles from './processes.module.scss'; -import React, { FC, useEffect, useMemo, useState } from 'react'; +import React, { FC, useCallback, useEffect, useMemo, useState } from 'react'; import { Input, Space, Button, Col, Row, Tooltip } from 'antd'; import { ApiData, useDeleteAsset, useGetAsset } from '@/lib/fetch-data'; import { @@ -18,7 +18,7 @@ import IconView from './process-icon-list'; import ProcessList from './process-list'; import { Preferences, getPreferences, addUserPreference } from '@/lib/utils'; import MetaData from './process-info-card'; -import { QueryClient } from '@tanstack/react-query'; +import { useQueryClient } from '@tanstack/react-query'; import ProcessExportModal from './process-export'; import Bar from './bar'; import { useUserPreferences } from '@/lib/user-preferences'; @@ -48,10 +48,14 @@ const fuseOptions = { const { Search } = Input; -const queryClient = new QueryClient(); - const Processes: FC = () => { - const { data, isLoading, isError, isSuccess } = useGetAsset('/process', { + const { + data, + isLoading, + isError, + isSuccess, + refetch: pullNewProcessData, + } = useGetAsset('/process', { params: { query: { noBpmn: true }, }, @@ -59,15 +63,28 @@ const Processes: FC = () => { const [selectedRowKeys, setSelectedRowKeys] = useState([]); - // const preferences = useStore(useUserPreferences, (state) => state.preferences); - // const addPreferences = useStore(useUserPreferences, (state) => state.addPreferences); + const { preferences } = useStore(useUserPreferences, (state) => state); - const preferences = useUserPreferences((state) => state.preferences); const addPreferences = useUserPreferences((state) => state.addPreferences); - const [iconView, setIconView] = useState(preferences['icon-view-in-process-list']); + const iconView = preferences['icon-view-in-process-list']; + + const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}', { + onSettled: pullNewProcessData, + }); - const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}'); + const deleteSelectedProcesses = useCallback(() => { + selectedRowKeys.forEach((key) => { + deleteProcess({ + params: { + path: { + definitionId: key as string, + }, + }, + }); + }); + setSelectedRowKeys([]); + }, [deleteProcess, selectedRowKeys]); const [exportProcessIds, setExportProcessIds] = useState([]); @@ -81,6 +98,7 @@ const Processes: FC = () => { */} { setExportProcessIds(selectedRowKeys as string[]); }} @@ -88,19 +106,9 @@ const Processes: FC = () => { { - selectedRowKeys.forEach((key) => { - deleteProcess({ - params: { - path: { - definitionId: key as string, - }, - }, - }); - /* TODO: Invalidate query for list */ - const keys = ['/process', { noBpmn: true }]; - queryClient.invalidateQueries(keys); - }); + deleteSelectedProcesses(); }} /> @@ -135,25 +143,14 @@ const Processes: FC = () => { /* DEL */ } else if (e.key === 'Delete') { e.preventDefault(); - selectedRowKeys.forEach((key) => { - deleteProcess({ - params: { - path: { - definitionId: key as string, - }, - }, - }); - }); - /* TODO: Invalidate query for list */ - const keys = ['/process', { noBpmn: true }]; - queryClient.invalidateQueries(keys); + deleteSelectedProcesses(); + /* TODO: */ /* CTRL + C */ - /* CTRL + V */ } else if (e.ctrlKey && e.key === 'c') { e.preventDefault(); setCopySelection(selectedRowKeys); - console.log(copySelection); + /* CTRL + V */ } else if (e.ctrlKey && e.key === 'v' && copySelection.length) { e.preventDefault(); copySelection.forEach((key) => { @@ -170,7 +167,7 @@ const Processes: FC = () => { // Remove event listener on cleanup return () => window.removeEventListener('keydown', handleKeyDown); - }, [deleteProcess, filteredData, selectedRowKeys]); + }, [copySelection, deleteProcess, filteredData, selectedRowKeys, deleteSelectedProcesses]); if (isError) { return
Error
; @@ -188,7 +185,7 @@ const Processes: FC = () => { - {selectedRowKeys.length} selected:{' '} + {selectedRowKeys.length} selected: {actionBar} ) : undefined @@ -205,7 +202,6 @@ const Processes: FC = () => { onClick={() => { // addUserPreference({ 'icon-view-in-process-list': false }); addPreferences({ 'icon-view-in-process-list': false }); - setIconView(false); }} > @@ -215,7 +211,6 @@ const Processes: FC = () => { onClick={() => { // addUserPreference({ 'icon-view-in-process-list': true }); addPreferences({ 'icon-view-in-process-list': true }); - setIconView(true); }} > @@ -236,6 +231,7 @@ const Processes: FC = () => { setSelection={setSelectedRowKeys} isLoading={isLoading} onExportProcess={setExportProcessIds} + refreshData={pullNewProcessData} /> )}
diff --git a/src/management-system-v2/components/tabcard-model-metadata.tsx b/src/management-system-v2/components/tabcard-model-metadata.tsx index 439521921..1e2a40046 100644 --- a/src/management-system-v2/components/tabcard-model-metadata.tsx +++ b/src/management-system-v2/components/tabcard-model-metadata.tsx @@ -125,7 +125,7 @@ const TabCard: FC = ({ } style={{ cursor: 'pointer', - minHeight: tabcard ? '340px' : '300px', + height: tabcard ? '340px' : '300px', // width: 'calc(100vw / 5)', // marginBottom: '30px', }} diff --git a/src/management-system-v2/lib/useStore.ts b/src/management-system-v2/lib/useStore.ts index 16d4b79e4..72ad3ad9f 100644 --- a/src/management-system-v2/lib/useStore.ts +++ b/src/management-system-v2/lib/useStore.ts @@ -11,7 +11,16 @@ const useStore = ( setData(result); }, [result]); - return data; + return ( + data ?? { + preferences: { + /* Default User-Settings: */ + 'show-process-meta-data': true, + 'icon-view-in-process-list': false, + }, + addPreferences: () => {}, + } + ); }; export default useStore; diff --git a/src/management-system-v2/lib/user-preferences.ts b/src/management-system-v2/lib/user-preferences.ts index a1ceb6b2b..00dc5feee 100644 --- a/src/management-system-v2/lib/user-preferences.ts +++ b/src/management-system-v2/lib/user-preferences.ts @@ -1,5 +1,7 @@ import { create } from 'zustand'; import { persist, createJSONStorage } from 'zustand/middleware'; +import { useState, useEffect } from 'react'; +import { immer } from 'zustand/middleware/immer'; type PreferencesType = Record; @@ -18,7 +20,7 @@ export const useUserPreferences = create()( }, addPreferences: (changes: PreferencesType) => { - set((state) => ({ preferences: { ...state.preferences, ...changes } })); + set({ preferences: { ...get().preferences, ...changes } }); }, }), { @@ -28,7 +30,25 @@ export const useUserPreferences = create()( ), ); -// addPreferences: (changes: PreferencesType) => { -// const oldPrefs = get().preferences; -// return set({ preferences: { ...oldPrefs, ...changes } }); -// }, +const addPreferences = (changes: PreferencesType) => {}; + +const usePreferences = () => { + const result = useUserPreferences((state) => state.preferences); + const [data, setData] = useState(undefined); + + useEffect(() => { + setData(result); + }, [result]); + + return ( + data ?? { + /* Default User-Settings: */ + 'show-process-meta-data': true, + 'icon-view-in-process-list': false, + } + ); +}; + +const func = { preferences: usePreferences, addPreferences: addPreferences }; + +export default func; From 9553fa7b15e075da5f9b001ce729891c0a49e93e Mon Sep 17 00:00:00 2001 From: winniel24 Date: Thu, 19 Oct 2023 00:05:33 +0200 Subject: [PATCH 07/20] adjusted height, so that there is no scrolling anymore --- .../app/(dashboard)/layout.module.scss | 1 + .../components/content.module.scss | 2 +- .../components/layout.module.scss | 4 ++-- yarn.lock | 14 +++----------- 4 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/management-system-v2/app/(dashboard)/layout.module.scss b/src/management-system-v2/app/(dashboard)/layout.module.scss index d6200931b..8807be7e1 100644 --- a/src/management-system-v2/app/(dashboard)/layout.module.scss +++ b/src/management-system-v2/app/(dashboard)/layout.module.scss @@ -46,6 +46,7 @@ /* Need this for the absolute editor page to work in non-parallel route. */ //min-height: 70vh; max-width: calc(100vw - 200px); + height: calc(100vh - 70px); &.collapsed { margin-left: 25px; diff --git a/src/management-system-v2/components/content.module.scss b/src/management-system-v2/components/content.module.scss index 445748c41..858a891f1 100644 --- a/src/management-system-v2/components/content.module.scss +++ b/src/management-system-v2/components/content.module.scss @@ -1,5 +1,5 @@ .Main { - min-height: 100vh !important; + min-height: calc(100vh - 70px) !important; .Header { display: flex; diff --git a/src/management-system-v2/components/layout.module.scss b/src/management-system-v2/components/layout.module.scss index 55506b1f0..483dcb900 100644 --- a/src/management-system-v2/components/layout.module.scss +++ b/src/management-system-v2/components/layout.module.scss @@ -1,6 +1,6 @@ .Sider { overflow: auto; - height: 100vh; + height: calc(100vh - 70px); //position: fixed !important; left: 0; top: 0; @@ -42,7 +42,7 @@ flex: auto; position: relative; /* Need this for the absolute editor page to work in non-parallel route. */ - min-height: 100vh; + height: 92vh; } .Footer { diff --git a/yarn.lock b/yarn.lock index c10086dd9..ca89bf76f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1336,6 +1336,7 @@ preact "^10.11.2" "@casl/ability-v6@npm:@casl/ability@^6.5.0", "@casl/ability@6.5.0": + name "@casl/ability-v6" version "6.5.0" resolved "https://registry.yarnpkg.com/@casl/ability/-/ability-6.5.0.tgz#a151a7637886099b8ffe52a96601225004a5c157" integrity sha512-3guc94ugr5ylZQIpJTLz0CDfwNi0mxKVECj1vJUPAvs+Lwunh/dcuUjwzc4MHM9D8JOYX0XUZMEPedpB3vIbOw== @@ -16402,7 +16403,7 @@ postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss@8.4.31: +postcss@8.4.31, postcss@^8.4.14: version "8.4.31" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== @@ -16428,15 +16429,6 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.3 picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.14: - version "8.4.31" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.31.tgz#92b451050a9f914da6755af352bdc0192508656d" - integrity sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ== - dependencies: - nanoid "^3.3.6" - picocolors "^1.0.0" - source-map-js "^1.0.2" - preact@^10.11.2: version "10.18.1" resolved "https://registry.yarnpkg.com/preact/-/preact-10.18.1.tgz#3b84bb305f0b05f4ad5784b981d15fcec4e105da" @@ -20055,7 +20047,7 @@ undici-types@~5.25.1: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.25.3.tgz#e044115914c85f0bcbb229f346ab739f064998c3" integrity sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA== -undici@^5.22.1: +undici@^5.23.0: version "5.26.3" resolved "https://registry.yarnpkg.com/undici/-/undici-5.26.3.tgz#ab3527b3d5bb25b12f898dfd22165d472dd71b79" integrity sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw== From d04d5b5222a538f99f4d0fbd3497234b951bd039 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:06:31 +0200 Subject: [PATCH 08/20] Changed the user prefs store wrapper --- .../components/process-info-card.tsx | 9 +--- .../components/processes.tsx | 7 ++-- src/management-system-v2/lib/useStore.ts | 26 ------------ .../lib/user-preferences.ts | 42 +++++++++---------- yarn.lock | 25 +++++++---- 5 files changed, 40 insertions(+), 69 deletions(-) delete mode 100644 src/management-system-v2/lib/useStore.ts diff --git a/src/management-system-v2/components/process-info-card.tsx b/src/management-system-v2/components/process-info-card.tsx index d41b3e466..df8f65c45 100644 --- a/src/management-system-v2/components/process-info-card.tsx +++ b/src/management-system-v2/components/process-info-card.tsx @@ -8,7 +8,6 @@ import Viewer from './bpmn-viewer'; import classNames from 'classnames'; import { ApiData } from '@/lib/fetch-data'; import { useUserPreferences } from '@/lib/user-preferences'; -import useStore from '@/lib/useStore'; type Processes = ApiData<'/process', 'get'>; @@ -21,13 +20,7 @@ type MetaDataType = { const MetaData: FC = ({ data, selection, triggerRerender }) => { /* NEEDS TO BE PLACED IN A FLEX CONTAINER */ - const { preferences } = useStore(useUserPreferences, (state) => state); - - // const preferences = useStore(useUserPreferences, (state) => state.preferences); - // const addPreferences = useStore(useUserPreferences, (state) => state.addPreferences); - - // const preferences = useUserPreferences((state) => state.preferences); - const addPreferences = useUserPreferences((state) => state.addPreferences); + const { preferences, addPreferences } = useUserPreferences(); const showInfo = preferences['show-process-meta-data']; // const [showInfo, setShowInfo] = useState(preferences['show-process-meta-data']); diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index 591de6742..14c6143d6 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -22,7 +22,6 @@ import { useQueryClient } from '@tanstack/react-query'; import ProcessExportModal from './process-export'; import Bar from './bar'; import { useUserPreferences } from '@/lib/user-preferences'; -import useStore from '@/lib/useStore'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -63,9 +62,11 @@ const Processes: FC = () => { const [selectedRowKeys, setSelectedRowKeys] = useState([]); - const { preferences } = useStore(useUserPreferences, (state) => state); + // const { preferences } = useStore(useUserPreferences, (state) => state); - const addPreferences = useUserPreferences((state) => state.addPreferences); + // const addPreferences = useUserPreferences((state) => state.addPreferences); + + const { preferences, addPreferences } = useUserPreferences(); const iconView = preferences['icon-view-in-process-list']; diff --git a/src/management-system-v2/lib/useStore.ts b/src/management-system-v2/lib/useStore.ts deleted file mode 100644 index 72ad3ad9f..000000000 --- a/src/management-system-v2/lib/useStore.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useState, useEffect } from 'react'; - -const useStore = ( - store: (callback: (state: T) => unknown) => unknown, - callback: (state: T) => F, -) => { - const result = store(callback) as F; - const [data, setData] = useState(); - - useEffect(() => { - setData(result); - }, [result]); - - return ( - data ?? { - preferences: { - /* Default User-Settings: */ - 'show-process-meta-data': true, - 'icon-view-in-process-list': false, - }, - addPreferences: () => {}, - } - ); -}; - -export default useStore; diff --git a/src/management-system-v2/lib/user-preferences.ts b/src/management-system-v2/lib/user-preferences.ts index 00dc5feee..d1474bee3 100644 --- a/src/management-system-v2/lib/user-preferences.ts +++ b/src/management-system-v2/lib/user-preferences.ts @@ -10,14 +10,16 @@ type PreferencesStoreType = { addPreferences: (changes: PreferencesType) => void; }; -export const useUserPreferences = create()( +const defaultPreferences: PreferencesType = { + /* Default User-Settings: */ + 'show-process-meta-data': true, + 'icon-view-in-process-list': false, +}; + +export const useUserPreferencesStore = create()( persist( (set, get) => ({ - preferences: { - /* Default User-Settings: */ - 'show-process-meta-data': true, - 'icon-view-in-process-list': false, - }, + preferences: defaultPreferences, addPreferences: (changes: PreferencesType) => { set({ preferences: { ...get().preferences, ...changes } }); @@ -30,25 +32,19 @@ export const useUserPreferences = create()( ), ); -const addPreferences = (changes: PreferencesType) => {}; - -const usePreferences = () => { - const result = useUserPreferences((state) => state.preferences); +export const useUserPreferences = () => { + const prefs = useUserPreferencesStore((state) => state.preferences); + const addPrefs = useUserPreferencesStore((state) => state.addPreferences); const [data, setData] = useState(undefined); useEffect(() => { - setData(result); - }, [result]); - - return ( - data ?? { - /* Default User-Settings: */ - 'show-process-meta-data': true, - 'icon-view-in-process-list': false, - } - ); -}; + setData(prefs); + }, [prefs]); -const func = { preferences: usePreferences, addPreferences: addPreferences }; + if (data) return { preferences: data, addPreferences: addPrefs }; -export default func; + return { + preferences: defaultPreferences, + addPreferences: addPrefs, + }; +}; diff --git a/yarn.lock b/yarn.lock index 15a2b2b72..91a86b6b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1281,7 +1281,7 @@ core-js "^2.6.12" regenerator-runtime "^0.14.0" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.1", "@babel/runtime@^7.10.4", "@babel/runtime@^7.11.1", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.7", "@babel/runtime@^7.18.0", "@babel/runtime@^7.18.3", "@babel/runtime@^7.20.0", "@babel/runtime@^7.20.7", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== @@ -2167,7 +2167,19 @@ rc-resize-observer "^1.3.1" rc-util "^5.33.0" -"@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.6.2", "@rc-component/trigger@^1.7.0": +"@rc-component/trigger@^1.17.0": + version "1.17.1" + resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.17.1.tgz#3de00f7a8997bb4d8e608502e095d6d4e713ddc9" + integrity sha512-ocD6GlyrPMtWfSdGmfURpudj6ZQqykG/+GH9QVhziG/0EtpPqK5FUbptwXDJGBJwvKhk4Z6jhxJE7utH464SgQ== + dependencies: + "@babel/runtime" "^7.23.2" + "@rc-component/portal" "^1.1.0" + classnames "^2.3.2" + rc-motion "^2.0.0" + rc-resize-observer "^1.3.1" + rc-util "^5.38.0" + +"@rc-component/trigger@^1.3.6", "@rc-component/trigger@^1.5.0", "@rc-component/trigger@^1.7.0": version "1.15.6" resolved "https://registry.yarnpkg.com/@rc-component/trigger/-/trigger-1.15.6.tgz#ccb71f16229e832e15b3869817cbe24f5e59b54c" integrity sha512-Tl19KaGsShf4yzqxumsXVT4c7j0l20Dxe5hgP5S0HmxyhCg3oKen28ntGavRCIPW7cl7wgsGotntqcIokgDHzg== @@ -2827,12 +2839,7 @@ dependencies: source-map "^0.6.1" -"@types/uuid@9.0.5": - version "9.0.5" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.5.tgz#25a71eb73eba95ac0e559ff3dd018fc08294acf6" - integrity sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ== - -"@types/uuid@^9.0.1": +"@types/uuid@9.0.5", "@types/uuid@^9.0.1": version "9.0.5" resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-9.0.5.tgz#25a71eb73eba95ac0e559ff3dd018fc08294acf6" integrity sha512-xfHdwa1FMJ082prjSJpoEI57GZITiQz10r3vEJCHa2khEFQjKy91aWKz6+zybzssCvXUwE1LQWgWVwZ4nYUvHQ== @@ -17218,7 +17225,7 @@ rc-upload@~4.3.4: classnames "^2.2.5" rc-util "^5.2.0" -rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.33.0, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0: +rc-util@^5.0.1, rc-util@^5.16.1, rc-util@^5.17.0, rc-util@^5.18.1, rc-util@^5.2.0, rc-util@^5.20.1, rc-util@^5.21.0, rc-util@^5.24.4, rc-util@^5.25.2, rc-util@^5.26.0, rc-util@^5.27.0, rc-util@^5.28.0, rc-util@^5.30.0, rc-util@^5.31.1, rc-util@^5.32.2, rc-util@^5.33.0, rc-util@^5.34.1, rc-util@^5.35.0, rc-util@^5.36.0, rc-util@^5.37.0, rc-util@^5.38.0: version "5.38.0" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.38.0.tgz#18a3d1c26ba3c43fabfbe6303e825dabd9e5f4f0" integrity sha512-yV/YBNdFn+edyBpBdCqkPE29Su0jWcHNgwx2dJbRqMrMfrUcMJUjCRV+ZPhcvWyKFJ63GzEerPrz9JIVo0zXmA== From cce89bba06393cf9a949aa7ca59288c796b9efd1 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 19 Oct 2023 12:17:34 +0200 Subject: [PATCH 09/20] Removed unused import --- src/management-system-v2/lib/user-preferences.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/management-system-v2/lib/user-preferences.ts b/src/management-system-v2/lib/user-preferences.ts index d1474bee3..b92e9adb4 100644 --- a/src/management-system-v2/lib/user-preferences.ts +++ b/src/management-system-v2/lib/user-preferences.ts @@ -1,7 +1,6 @@ import { create } from 'zustand'; import { persist, createJSONStorage } from 'zustand/middleware'; import { useState, useEffect } from 'react'; -import { immer } from 'zustand/middleware/immer'; type PreferencesType = Record; From 82ed21f28142c8ca0d2f08c7f1f736a20bffc708 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 19 Oct 2023 13:30:58 +0200 Subject: [PATCH 10/20] Fixed layout for process list and icon list Co-authored-by: winniel24 --- .../app/(dashboard)/layout.module.scss | 2 +- .../components/content.module.scss | 1 + .../components/process-icon-list.tsx | 29 +------------------ 3 files changed, 3 insertions(+), 29 deletions(-) diff --git a/src/management-system-v2/app/(dashboard)/layout.module.scss b/src/management-system-v2/app/(dashboard)/layout.module.scss index 8807be7e1..2e35726dc 100644 --- a/src/management-system-v2/app/(dashboard)/layout.module.scss +++ b/src/management-system-v2/app/(dashboard)/layout.module.scss @@ -46,7 +46,7 @@ /* Need this for the absolute editor page to work in non-parallel route. */ //min-height: 70vh; max-width: calc(100vw - 200px); - height: calc(100vh - 70px); + height: calc(100vh - 150px); &.collapsed { margin-left: 25px; diff --git a/src/management-system-v2/components/content.module.scss b/src/management-system-v2/components/content.module.scss index 858a891f1..735389176 100644 --- a/src/management-system-v2/components/content.module.scss +++ b/src/management-system-v2/components/content.module.scss @@ -23,6 +23,7 @@ padding: 40px 20px; max-width: 100%; background-color: white; + height: calc(100vh - 150px); &.compact { padding: 0; diff --git a/src/management-system-v2/components/process-icon-list.tsx b/src/management-system-v2/components/process-icon-list.tsx index c7cb48d83..55c066ef8 100644 --- a/src/management-system-v2/components/process-icon-list.tsx +++ b/src/management-system-v2/components/process-icon-list.tsx @@ -61,7 +61,7 @@ const IconView: FC = ({ data, selection, setSelection }) => { // alignContent: 'space-between', // flexWrap: 'wrap', overflowX: 'hidden', - msOverflowY: 'scroll', + overflowY: 'scroll', /* TODO: Make parent fitting height */ // height: '100%', height: 'calc(100vh - 220px)', @@ -85,30 +85,3 @@ const IconView: FC = ({ data, selection, setSelection }) => { }; export default IconView; - -// ( -// -// { -// -// } -// -// )} -// /> From 2abade01ab11ff2aab71511d2e77ed724835de3b Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Thu, 19 Oct 2023 19:00:51 +0200 Subject: [PATCH 11/20] Copy Paste of processes Co-authored-by: winniel24 --- src/management-system-v2/app/globals.css | 8 ++- .../components/process-delete.tsx | 30 ++++++++ .../components/process-icon-list.tsx | 5 +- .../components/process-list.tsx | 54 +++++++++----- .../components/processes.tsx | 72 +++++++++++++++++-- .../components/tabcard-model-metadata.tsx | 31 ++++++-- 6 files changed, 170 insertions(+), 30 deletions(-) create mode 100644 src/management-system-v2/components/process-delete.tsx diff --git a/src/management-system-v2/app/globals.css b/src/management-system-v2/app/globals.css index 7a984dfe6..6323c0612 100644 --- a/src/management-system-v2/app/globals.css +++ b/src/management-system-v2/app/globals.css @@ -68,7 +68,6 @@ } } -/* TODO: Move to module */ .ant-menu-light.ant-menu-root.ant-menu-inline, .ant-menu-light > .ant-menu.ant-menu-root.ant-menu-inline, .ant-menu-light.ant-menu-root.ant-menu-vertical, @@ -124,3 +123,10 @@ .fit-height { height: calc(100vh - 64px - 70px); } + +.djs-palette { + background-color: white !important; + border: solid 1px #d9d9d9 !important; + border-radius: 8px !important; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02) !important; +} diff --git a/src/management-system-v2/components/process-delete.tsx b/src/management-system-v2/components/process-delete.tsx new file mode 100644 index 000000000..342c169c9 --- /dev/null +++ b/src/management-system-v2/components/process-delete.tsx @@ -0,0 +1,30 @@ +import React, { useState } from 'react'; +import { Button, Modal } from 'antd'; + +type Props = {}; + +const DeleteModal = (props: Props) => { + const [modalOpen, setModalOpen] = useState(false); + + const handleOk = () => {}; + + return ( + <> + {/* */} + + setModalOpen(false)} + onCancel={() => setModalOpen(false)} + > +

Click ok to delete the selected processes.

+
+ + ); +}; + +export default DeleteModal; diff --git a/src/management-system-v2/components/process-icon-list.tsx b/src/management-system-v2/components/process-icon-list.tsx index 55c066ef8..57470a0d4 100644 --- a/src/management-system-v2/components/process-icon-list.tsx +++ b/src/management-system-v2/components/process-icon-list.tsx @@ -14,9 +14,10 @@ type IconViewProps = { data?: Processes; selection: Key[]; setSelection: Dispatch>; + search?: string; }; -const IconView: FC = ({ data, selection, setSelection }) => { +const IconView: FC = ({ data, selection, setSelection, search }) => { const [rerender, setRerender] = useState(false); const triggerRerender = () => { @@ -75,7 +76,7 @@ const IconView: FC = ({ data, selection, setSelection }) => { selection={selection} setSelection={setSelection} tabcard={false} - justify={i > arr.length - 1 - 3} + search={search} /> ))}
diff --git a/src/management-system-v2/components/process-list.tsx b/src/management-system-v2/components/process-list.tsx index bd2eb67f4..1d4cc8725 100644 --- a/src/management-system-v2/components/process-list.tsx +++ b/src/management-system-v2/components/process-list.tsx @@ -39,6 +39,7 @@ type ProcessListProps = PropsWithChildren<{ onExportProcess: Dispatch>; refreshData: any; // TODO: Fix type + search?: string; }>; const ColumnHeader = [ @@ -50,21 +51,6 @@ const ColumnHeader = [ 'Owner', ]; -const clipText: ColumnType['render'] = (dataIndexElement, record, index) => { - return ( -
- {dataIndexElement} -
- ); -}; - const numberOfRows = typeof window !== 'undefined' ? Math.floor((window?.innerHeight - 340) / 47) : 10; @@ -75,6 +61,7 @@ const ProcessList: FC = ({ isLoading, onExportProcess, refreshData, + search, }) => { const router = useRouter(); @@ -93,6 +80,39 @@ const ProcessList: FC = ({ const [rerender, setRerender] = useState(false); + const clipAndHighlightText = useCallback( + (dataIndexElement, record, index) => { + const withoutSearchTerm = dataIndexElement?.split(search); + let res = dataIndexElement; + if (search && withoutSearchTerm?.length > 1) { + res = withoutSearchTerm.map((word, i, arr) => { + if (i === arr.length - 1) return word; + + return ( + + {word} + {search} + + ); + }); + } + + return ( +
+ {res} +
+ ); + }, + [search], + ); + const triggerRerender = () => { /* Timeout necessary for animation and table resize */ setTimeout(() => { @@ -262,7 +282,7 @@ const ProcessList: FC = ({ // router.push(`/processes/${record.definitionId}`); }, }), - render: clipText, + render: clipAndHighlightText, }, { title: 'Description', @@ -278,7 +298,7 @@ const ProcessList: FC = ({ // router.push(`/processes/${record.definitionId}`); // }, }), - render: clipText, + render: clipAndHighlightText, }, { diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index 14c6143d6..46366f07c 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -3,7 +3,7 @@ import styles from './processes.module.scss'; import React, { FC, useCallback, useEffect, useMemo, useState } from 'react'; import { Input, Space, Button, Col, Row, Tooltip } from 'antd'; -import { ApiData, useDeleteAsset, useGetAsset } from '@/lib/fetch-data'; +import { ApiData, useDeleteAsset, useGetAsset, usePostAsset } from '@/lib/fetch-data'; import { CopyOutlined, ExportOutlined, @@ -22,6 +22,15 @@ import { useQueryClient } from '@tanstack/react-query'; import ProcessExportModal from './process-export'; import Bar from './bar'; import { useUserPreferences } from '@/lib/user-preferences'; +import { fetchProcessVersionBpmn } from '@/lib/process-queries'; +import { + setDefinitionsId, + setDefinitionsName, + manipulateElementsByTagName, + generateDefinitionsId, + setTargetNamespace, + setDefinitionsVersionInformation, +} from '@proceed/bpmn-helper'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -45,7 +54,32 @@ const fuseOptions = { keys: ['definitionName', 'description'], }; -const { Search } = Input; +type CopyProcessType = { + bpmn: string; + newName?: string; +}; + +const copyProcess = async ({ bpmn, newName }: CopyProcessType) => { + const newDefinitionsId = await generateDefinitionsId(); + let newBPMN = await setDefinitionsId(bpmn, newDefinitionsId); + newBPMN = await setDefinitionsName(newBPMN, newName || 'Copy of Process'); + newBPMN = await setTargetNamespace(newBPMN, newDefinitionsId); + + newBPMN = await setDefinitionsVersionInformation(newBPMN, { + version: undefined, + versionName: undefined, + versionDescription: undefined, + versionBasedOn: undefined, + }); + // newBPMN = await manipulateElementsByTagName(newBPMN, 'bpmn:Definitions', (definitions: any) => { + // delete definitions.version; + // delete definitions.versionName; + // delete definitions.versionDescription; + // delete definitions.versionBasedOn; + // }); + + return newBPMN; +}; const Processes: FC = () => { const { @@ -73,6 +107,7 @@ const Processes: FC = () => { const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}', { onSettled: pullNewProcessData, }); + const { mutateAsync: addProcess } = usePostAsset('/process', {}); const deleteSelectedProcesses = useCallback(() => { selectedRowKeys.forEach((key) => { @@ -119,7 +154,7 @@ const Processes: FC = () => { const [searchTerm, setSearchTerm] = useState(''); const rerenderLists = () => { - //setFilteredData(filteredData); + //setFilteredData(filteredData);, }; const filteredData = useMemo(() => { @@ -143,7 +178,7 @@ const Processes: FC = () => { setSelectedRowKeys(filteredData ? filteredData.map((item) => item.definitionId) : []); /* DEL */ } else if (e.key === 'Delete') { - e.preventDefault(); + // e.preventDefault(); deleteSelectedProcesses(); /* TODO: */ @@ -154,13 +189,35 @@ const Processes: FC = () => { /* CTRL + V */ } else if (e.ctrlKey && e.key === 'v' && copySelection.length) { e.preventDefault(); - copySelection.forEach((key) => { + copySelection.forEach(async (key) => { /* TODO: Post to /process (identical + name with (copy) suffix */ - console.log(key); + // const { mutateAsync: addProcess } = usePostAsset('/process', {}); + const process = data?.find((item) => item.definitionId === key); + const processBpmn = await fetchProcessVersionBpmn(key as string); + + const newBPMN = await copyProcess({ + bpmn: processBpmn as string, + newName: `${process?.definitionName} (Copy)`, + }); + + addProcess({ + body: { + bpmn: newBPMN as string, + departments: [], + variables: [], + }, + }); }); + + // body: { + // definitionName: `${process?.definitionName} (copy)`, + // description: process?.description, + // bpmn: processBpmn as string, + // }, + // type 'WithRequired<{ departments?: string[] | undefined; variables?: { name: string; type: "" | "string" | "number" | "boolean" | "object" | "array"; }[] | undefined; } & { bpmn?: string | undefined; }, "departments" | "bpmn">' } }; // Add event listener @@ -219,11 +276,13 @@ const Processes: FC = () => { } /> + {iconView ? ( ) : ( { isLoading={isLoading} onExportProcess={setExportProcessIds} refreshData={pullNewProcessData} + search={searchTerm} /> )} diff --git a/src/management-system-v2/components/tabcard-model-metadata.tsx b/src/management-system-v2/components/tabcard-model-metadata.tsx index 1e2a40046..65c1dcb47 100644 --- a/src/management-system-v2/components/tabcard-model-metadata.tsx +++ b/src/management-system-v2/components/tabcard-model-metadata.tsx @@ -1,5 +1,5 @@ import { Button, Card, Descriptions, DescriptionsProps } from 'antd'; -import React, { Dispatch, FC, Key, ReactNode, SetStateAction, useState } from 'react'; +import React, { Dispatch, FC, Key, ReactNode, SetStateAction, useCallback, useState } from 'react'; import { MoreOutlined } from '@ant-design/icons'; import Viewer from './bpmn-viewer'; @@ -19,7 +19,7 @@ type TabCardProps = { setSelection: Dispatch>; tabcard?: boolean; completeList: Processes; - justify?: boolean; + search?: string; }; const tabList = [ @@ -99,7 +99,7 @@ const TabCard: FC = ({ setSelection, tabcard, completeList, - justify, + search, }) => { const router = useRouter(); const [activeTabKey, setActiveTabKey] = useState('viewer'); @@ -111,12 +111,35 @@ const TabCard: FC = ({ setActiveTabKey(key); }; + const clipAndHighlightText = useCallback( + (dataIndexElement, record, index) => { + const withoutSearchTerm = dataIndexElement?.split(search); + let res = dataIndexElement; + if (search && withoutSearchTerm?.length > 1) { + res = withoutSearchTerm.map((word, i, arr) => { + if (i === arr.length - 1) return word; + + return ( + + {word} + {search} + + ); + }); + } + + return
{res}
; + }, + [search], + ); + return ( - {item?.definitionName} + {/* {item?.definitionName} */} + {clipAndHighlightText(item?.definitionName, item, 0)} , + , + ]} + > + {/*
Delete this process?
*/} + + + ); +}; + +export default ProcessDeleteSingleModal; diff --git a/src/management-system-v2/components/process-delete.module.scss b/src/management-system-v2/components/process-delete.module.scss new file mode 100644 index 000000000..1b09f3bdb --- /dev/null +++ b/src/management-system-v2/components/process-delete.module.scss @@ -0,0 +1,4 @@ +.Checkbox { + font-size: 12px !important; + width: 65%; +} diff --git a/src/management-system-v2/components/process-delete.tsx b/src/management-system-v2/components/process-delete.tsx index 342c169c9..d631f3724 100644 --- a/src/management-system-v2/components/process-delete.tsx +++ b/src/management-system-v2/components/process-delete.tsx @@ -1,30 +1,164 @@ -import React, { useState } from 'react'; -import { Button, Modal } from 'antd'; +import React, { useState, FC, useCallback, Dispatch, SetStateAction, useEffect, Key } from 'react'; +import { Button, Checkbox, Modal, Spin } from 'antd'; +import { LoadingOutlined } from '@ant-design/icons'; +import { useDeleteAsset, useGetAsset } from '@/lib/fetch-data'; +import { useUserPreferences } from '@/lib/user-preferences'; +import styles from './process-delete.module.scss'; -type Props = {}; +type ProcessDeleteModalType = { + setDeleteProcessIds: Dispatch> | Dispatch>; + processKeys: React.Key[]; + setSelection: Dispatch> | Dispatch>; +}; + +const sliceTitleLength = (title: String) => { + return title.length > 50 ? `${title.slice(0, 51)} ...` : title; +}; + +const ProcessDeleteModal: FC = ({ + setDeleteProcessIds, + processKeys, + setSelection, +}) => { + const { data, refetch: pullNewProcessData } = useGetAsset('/process', { + params: { + query: { noBpmn: true }, + }, + }); + + const [successful, setSuccessful] = useState([]); + const [failed, setFailed] = useState([]); + const [loading, setLoading] = useState(false); + + const { addPreferences } = useUserPreferences(); -const DeleteModal = (props: Props) => { - const [modalOpen, setModalOpen] = useState(false); + const handleDelete = () => { + if (failed.length) { + setSelection(failed); + setDeleteProcessIds(failed); + setFailed([]); + setSuccessful([]); + pullNewProcessData(); + } - const handleOk = () => {}; + setLoading(true); + deleteSelectedProcesses(); + // setDeleteProcessIds([]); + }; + + const handleCancel = () => { + setDeleteProcessIds([]); + setFailed([]); + setSuccessful([]); + }; + + useEffect(() => { + /* Some Failed */ + if (processKeys.length && successful.length + failed.length === processKeys.length) { + setLoading(false); + } + /* All Successful */ + if (processKeys.length && successful.length === processKeys.length) { + setTimeout(() => { + setSelection([]); + setDeleteProcessIds([]); + setFailed([]); + setSuccessful([]); + pullNewProcessData(); + }, 2_000); + } + }, [successful, failed, processKeys, setSelection, setDeleteProcessIds, pullNewProcessData]); + + const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}', { + //onSettled: pullNewProcessData, + onError: (error, variables) => { + setFailed((prev) => [...prev, variables.params.path.definitionId]); + }, + onSuccess: (error, variables) => { + setSuccessful((prev) => [...prev, variables.params.path.definitionId]); + setSelection((prev) => prev.filter((key) => key !== variables.params.path.definitionId)); + }, + }); + + const deleteSelectedProcesses = useCallback(() => { + processKeys.forEach((key: React.Key) => { + deleteProcess({ + params: { + path: { + definitionId: key as string, + }, + }, + }); + }); + }, [deleteProcess, processKeys]); return ( <> - {/* */} - setModalOpen(false)} - onCancel={() => setModalOpen(false)} + open={processKeys.length > 1} + onCancel={handleCancel} + footer={[ + { + addPreferences({ 'ask-before-deleting-multiple': !e.target.checked }); + }} + > + Don't show again + , + , + , + ]} > -

Click ok to delete the selected processes.

+
+
    + {data + ?.filter((process) => processKeys.includes(process.definitionId)) + .sort((a, b) => a.definitionName.localeCompare(b.definitionName)) + .map((process) => { + // if (loading) { + /* Success */ + if (successful.includes(process.definitionId)) { + return ( +
  • + ✔ + + {sliceTitleLength(process.definitionName)} + +
  • + ); + /* Fail */ + } else if (failed.includes(process.definitionId)) { + return ( +
  • ✖{sliceTitleLength(process.definitionName)}
  • + ); + /* Loading */ + } else if (loading) { + return ( +
  • + } /> + {sliceTitleLength(process.definitionName)} +
  • + ); + /* Inital */ + } else { + return ( +
  • {sliceTitleLength(process.definitionName)}
  • + ); + } + })} +
+
); }; -export default DeleteModal; +export default ProcessDeleteModal; diff --git a/src/management-system-v2/components/process-list.tsx b/src/management-system-v2/components/process-list.tsx index 1d4cc8725..c456ef90f 100644 --- a/src/management-system-v2/components/process-list.tsx +++ b/src/management-system-v2/components/process-list.tsx @@ -27,6 +27,8 @@ import classNames from 'classnames'; import { generateDateString } from '@/lib/utils'; import { ApiData, useDeleteAsset, usePostAsset } from '@/lib/fetch-data'; import { QueryClient, useQueryClient } from '@tanstack/react-query'; +import { useUserPreferences } from '@/lib/user-preferences'; +import ProcessDeleteSingleModal from './process-delete-single'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -80,6 +82,10 @@ const ProcessList: FC = ({ const [rerender, setRerender] = useState(false); + const { preferences, addPreferences } = useUserPreferences(); + + const selectedColumns = preferences['process-list-columns']; + const clipAndHighlightText = useCallback( (dataIndexElement, record, index) => { const withoutSearchTerm = dataIndexElement?.split(search); @@ -176,6 +182,7 @@ const ProcessList: FC = ({ { e.stopPropagation(); + deleteProcess({ params: { path: { @@ -215,22 +222,17 @@ const ProcessList: FC = ({ }, }; - const [selectedColumns, setSelectedColumns] = useState([ - '', - 'Process Name', - 'Description', - 'Last Edited', - ]); - const onCheckboxChange = (e: CheckboxChangeEvent) => { e.stopPropagation(); const { checked, value } = e.target; if (checked) { - setSelectedColumns((prevSelectedColumns) => [...prevSelectedColumns, value]); + //setSelectedColumns([...selectedColumns, value]); + addPreferences({ 'process-list-columns': [...selectedColumns, value] }); } else { - setSelectedColumns((prevSelectedColumns) => - prevSelectedColumns.filter((column) => column !== value), - ); + //setSelectedColumns(selectedColumns.filter((column) => column !== value)); + addPreferences({ + 'process-list-columns': selectedColumns.filter((column) => column !== value), + }); } }; @@ -494,6 +496,8 @@ const ProcessList: FC = ({ {previewerOpen && ( )} + + {/* */} ); }; diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index 46366f07c..4d57ac0ec 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -31,6 +31,8 @@ import { setTargetNamespace, setDefinitionsVersionInformation, } from '@proceed/bpmn-helper'; +import ProcessDeleteModal from './process-delete'; +import ProcessDeleteSingleModal from './process-delete-single'; type Processes = ApiData<'/process', 'get'>; type Process = Processes[number]; @@ -96,17 +98,18 @@ const Processes: FC = () => { const [selectedRowKeys, setSelectedRowKeys] = useState([]); - // const { preferences } = useStore(useUserPreferences, (state) => state); - - // const addPreferences = useUserPreferences((state) => state.addPreferences); - const { preferences, addPreferences } = useUserPreferences(); - const iconView = preferences['icon-view-in-process-list']; + const { + 'icon-view-in-process-list': iconView, + 'ask-before-deleting-multiple': openModalWhenDeleteMultiple, + 'ask-before-deleting-single': openModalWhenDeleteSingle, + } = preferences; const { mutateAsync: deleteProcess } = useDeleteAsset('/process/{definitionId}', { onSettled: pullNewProcessData, }); + const { mutateAsync: addProcess } = usePostAsset('/process', {}); const deleteSelectedProcesses = useCallback(() => { @@ -123,6 +126,8 @@ const Processes: FC = () => { }, [deleteProcess, selectedRowKeys]); const [exportProcessIds, setExportProcessIds] = useState([]); + const [copyProcessIds, setCopyProcessIds] = useState([]); + const [deleteProcessIds, setDeleteProcessIds] = useState([]); const actionBar = ( <> @@ -144,7 +149,14 @@ const Processes: FC = () => { { - deleteSelectedProcesses(); + if ( + (openModalWhenDeleteMultiple || openModalWhenDeleteSingle) && + selectedRowKeys.length + ) { + setDeleteProcessIds(selectedRowKeys as string[]); + } else { + deleteSelectedProcesses(); + } }} /> @@ -179,9 +191,14 @@ const Processes: FC = () => { /* DEL */ } else if (e.key === 'Delete') { // e.preventDefault(); - deleteSelectedProcesses(); - - /* TODO: */ + if ((openModalWhenDeleteMultiple || openModalWhenDeleteSingle) && selectedRowKeys.length) { + setDeleteProcessIds(selectedRowKeys as string[]); + } else { + deleteSelectedProcesses(); + } + /* ESC */ + } else if (e.key === 'Escape') { + deselectAll(); /* CTRL + C */ } else if (e.ctrlKey && e.key === 'c') { e.preventDefault(); @@ -190,11 +207,6 @@ const Processes: FC = () => { } else if (e.ctrlKey && e.key === 'v' && copySelection.length) { e.preventDefault(); copySelection.forEach(async (key) => { - /* TODO: - Post to /process - (identical + name with (copy) suffix - */ - // const { mutateAsync: addProcess } = usePostAsset('/process', {}); const process = data?.find((item) => item.definitionId === key); const processBpmn = await fetchProcessVersionBpmn(key as string); @@ -211,13 +223,6 @@ const Processes: FC = () => { }, }); }); - - // body: { - // definitionName: `${process?.definitionName} (copy)`, - // description: process?.description, - // bpmn: processBpmn as string, - // }, - // type 'WithRequired<{ departments?: string[] | undefined; variables?: { name: string; type: "" | "string" | "number" | "boolean" | "object" | "array"; }[] | undefined; } & { bpmn?: string | undefined; }, "departments" | "bpmn">' } }; // Add event listener @@ -225,7 +230,16 @@ const Processes: FC = () => { // Remove event listener on cleanup return () => window.removeEventListener('keydown', handleKeyDown); - }, [copySelection, deleteProcess, filteredData, selectedRowKeys, deleteSelectedProcesses]); + }, [ + copySelection, + deleteProcess, + filteredData, + selectedRowKeys, + deleteSelectedProcesses, + data, + addProcess, + openModalWhenDeleteMultiple, + ]); if (isError) { return
Error
; @@ -303,6 +317,17 @@ const Processes: FC = () => { processes={exportProcessIds.map((definitionId) => ({ definitionId }))} onClose={() => setExportProcessIds([])} /> + + ); }; diff --git a/src/management-system-v2/lib/user-preferences.ts b/src/management-system-v2/lib/user-preferences.ts index b92e9adb4..82edd8f71 100644 --- a/src/management-system-v2/lib/user-preferences.ts +++ b/src/management-system-v2/lib/user-preferences.ts @@ -2,7 +2,7 @@ import { create } from 'zustand'; import { persist, createJSONStorage } from 'zustand/middleware'; import { useState, useEffect } from 'react'; -type PreferencesType = Record; +type PreferencesType = Record; type PreferencesStoreType = { preferences: PreferencesType; @@ -11,8 +11,15 @@ type PreferencesStoreType = { const defaultPreferences: PreferencesType = { /* Default User-Settings: */ + /* + Delete user-preferences in localstorage, after adding a preference-setting + The new default won't be set otherwise + */ 'show-process-meta-data': true, 'icon-view-in-process-list': false, + 'process-list-columns': ['', 'Process Name', 'Description', 'Last Edited'], + 'ask-before-deleting-multiple': true, + 'ask-before-deleting-single': true, }; export const useUserPreferencesStore = create()( From a64cc0abdb1e305d0491d668e47a9a622aa2b26d Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Tue, 24 Oct 2023 13:49:01 +0200 Subject: [PATCH 13/20] Added row delete warning modal Co-authored-by: winniel24 >; refreshData: any; - // TODO: Fix type search?: string; + setDeleteProcessIds: Dispatch> | Dispatch>; + deleteProcessKeys: React.Key[]; }>; const ColumnHeader = [ @@ -64,6 +65,8 @@ const ProcessList: FC = ({ onExportProcess, refreshData, search, + setDeleteProcessIds, + deleteProcessKeys, }) => { const router = useRouter(); @@ -84,7 +87,10 @@ const ProcessList: FC = ({ const { preferences, addPreferences } = useUserPreferences(); - const selectedColumns = preferences['process-list-columns']; + const { + 'process-list-columns': selectedColumns, + 'ask-before-deleting-single': openModalWhenDeleteSingle, + } = preferences; const clipAndHighlightText = useCallback( (dataIndexElement, record, index) => { @@ -119,13 +125,6 @@ const ProcessList: FC = ({ [search], ); - const triggerRerender = () => { - /* Timeout necessary for animation and table resize */ - setTimeout(() => { - setRerender(!rerender); - }, 200); - }; - const { mutateAsync: createProcess } = usePostAsset('/process'); const queryClient = useQueryClient(); @@ -133,71 +132,85 @@ const ProcessList: FC = ({ onSettled: refreshData, }); - const actionBarGenerator = useCallback((record: Process) => { - return ( - <> - - { - setPreviewProcess(record); - setPreviewerOpen(true); - }} - /> - - - { - // fetch(`localhost:33080/api/process/${record.definitionId}`) - // .then((res) => res.json()) - // .then((data) => { - createProcess({ - /* TODO: + const actionBarGenerator = useCallback( + (record: Process) => { + return ( + <> + + { + setPreviewProcess(record); + setPreviewerOpen(true); + }} + /> + + + { + // fetch(`localhost:33080/api/process/${record.definitionId}`) + // .then((res) => res.json()) + // .then((data) => { + createProcess({ + /* TODO: Causes 500 */ - body: { - ...record, - // description: record.description, - // departments: record.departments, - bpmn: /* data */ record.bpmn || '', - variables: [ - { - name: `${record.definitionName} Copy`, - type: '', - }, - ], - }, - }); - // }); - }} - /> - - - { - onExportProcess([record.definitionId]); - }} - /> - - - { - e.stopPropagation(); - - deleteProcess({ - params: { - path: { - definitionId: record.definitionId as string, + body: { + ...record, + // description: record.description, + // departments: record.departments, + bpmn: /* data */ record.bpmn || '', + variables: [ + { + name: `${record.definitionName} Copy`, + type: '', + }, + ], }, - }, - }); + }); + // }); + }} + /> + + + { + onExportProcess([record.definitionId]); + }} + /> + + + { + e.stopPropagation(); + if (openModalWhenDeleteSingle) { + setDeleteProcessIds([record.definitionId]); + } else { + deleteProcess({ + params: { + path: { + definitionId: record.definitionId as string, + }, + }, + }); + } - setSelection(selection.filter((id) => id !== record.definitionId)); - }} - /> - - - ); - }, []); + setSelection(selection.filter((id) => id !== record.definitionId)); + }} + /> + + + ); + }, + [ + createProcess, + deleteProcess, + onExportProcess, + openModalWhenDeleteSingle, + selection, + setDeleteProcessIds, + setSelection, + ], + ); // rowSelection object indicates the need for row selection @@ -470,11 +483,9 @@ const ProcessList: FC = ({ }, onMouseEnter: (event) => { setHovered(record); - // console.log('mouse enter row', record); }, // mouse enter row onMouseLeave: (event) => { setHovered(undefined); - // console.log('mouse leave row', event); }, // mouse leave row })} /* ---- */ @@ -492,12 +503,15 @@ const ProcessList: FC = ({ size="middle" /> - {/* */} {previewerOpen && ( )} - - {/* */} + ); }; diff --git a/src/management-system-v2/components/processes.tsx b/src/management-system-v2/components/processes.tsx index 4d57ac0ec..e503225d9 100644 --- a/src/management-system-v2/components/processes.tsx +++ b/src/management-system-v2/components/processes.tsx @@ -150,8 +150,8 @@ const Processes: FC = () => { className={styles.Icon} onClick={() => { if ( - (openModalWhenDeleteMultiple || openModalWhenDeleteSingle) && - selectedRowKeys.length + (openModalWhenDeleteMultiple && selectedRowKeys.length > 1) || + (openModalWhenDeleteSingle && selectedRowKeys.length == 1) ) { setDeleteProcessIds(selectedRowKeys as string[]); } else { @@ -191,7 +191,10 @@ const Processes: FC = () => { /* DEL */ } else if (e.key === 'Delete') { // e.preventDefault(); - if ((openModalWhenDeleteMultiple || openModalWhenDeleteSingle) && selectedRowKeys.length) { + if ( + (openModalWhenDeleteMultiple && selectedRowKeys.length > 1) || + (openModalWhenDeleteSingle && selectedRowKeys.length == 1) + ) { setDeleteProcessIds(selectedRowKeys as string[]); } else { deleteSelectedProcesses(); @@ -239,6 +242,7 @@ const Processes: FC = () => { data, addProcess, openModalWhenDeleteMultiple, + openModalWhenDeleteSingle, ]); if (isError) { @@ -307,6 +311,8 @@ const Processes: FC = () => { onExportProcess={setExportProcessIds} refreshData={pullNewProcessData} search={searchTerm} + setDeleteProcessIds={setDeleteProcessIds} + deleteProcessKeys={deleteProcessIds} /> )} @@ -323,10 +329,10 @@ const Processes: FC = () => { setSelection={setSelectedRowKeys} /> ); From 37678583ed4b15aab16666410442eede1d096622 Mon Sep 17 00:00:00 2001 From: LaMaLein <76120220+LaMaLein@users.noreply.github.com> Date: Wed, 25 Oct 2023 10:20:10 +0200 Subject: [PATCH 14/20] Copy Processes modal with retry Co-authored-by: winniel24 --- src/management-system-v2/app/globals.css | 11 + .../components/process-copy.module.scss | 13 + .../components/process-copy.tsx | 342 ++++++++++++++++++ .../components/process-delete.module.scss | 11 +- .../components/process-delete.tsx | 78 ++-- .../components/processes.tsx | 56 ++- .../lib/user-preferences.ts | 2 + 7 files changed, 457 insertions(+), 56 deletions(-) create mode 100644 src/management-system-v2/components/process-copy.module.scss create mode 100644 src/management-system-v2/components/process-copy.tsx diff --git a/src/management-system-v2/app/globals.css b/src/management-system-v2/app/globals.css index 6323c0612..80f1fe6d4 100644 --- a/src/management-system-v2/app/globals.css +++ b/src/management-system-v2/app/globals.css @@ -124,9 +124,20 @@ height: calc(100vh - 64px - 70px); } +/* Adapt BPMN.js toolbar styles */ .djs-palette { background-color: white !important; border: solid 1px #d9d9d9 !important; border-radius: 8px !important; box-shadow: 0 2px 0 rgba(0, 0, 0, 0.02) !important; } + +.group .entry { + border-bottom: solid 1px #d9d9d9; +} +.group .entry :last-child { + border-bottom: none; +} +.group .separator { + display: none; +} diff --git a/src/management-system-v2/components/process-copy.module.scss b/src/management-system-v2/components/process-copy.module.scss new file mode 100644 index 000000000..47f0c0253 --- /dev/null +++ b/src/management-system-v2/components/process-copy.module.scss @@ -0,0 +1,13 @@ +.Checkbox { + font-size: 12px; + // width: 55%; +} + +.ClippedProcessTitle { + display: inline-block; + vertical-align: bottom; + width: 470px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} diff --git a/src/management-system-v2/components/process-copy.tsx b/src/management-system-v2/components/process-copy.tsx new file mode 100644 index 000000000..f51c80ba0 --- /dev/null +++ b/src/management-system-v2/components/process-copy.tsx @@ -0,0 +1,342 @@ +import { Button, Checkbox, Collapse, Input, Modal, Spin, Switch, Tooltip } from 'antd'; +import React, { Dispatch, FC, Key, SetStateAction, useCallback, useEffect, useState } from 'react'; +import styles from './process-copy.module.scss'; +import TextArea from 'antd/es/input/TextArea'; +import { useUserPreferences } from '@/lib/user-preferences'; +import { addUserPreference } from '@/lib/utils'; +import { useGetAsset, usePostAsset } from '@/lib/fetch-data'; +import type { CollapseProps } from 'antd'; +import { + generateDefinitionsId, + setDefinitionsId, + setDefinitionsName, + setDefinitionsVersionInformation, + setTargetNamespace, + addDocumentation, + getDefinitionsId, +} from '@proceed/bpmn-helper'; +import { fetchProcessVersionBpmn } from '@/lib/process-queries'; +import { LoadingOutlined } from '@ant-design/icons'; + +type ProcessCopyModalType = { + setCopyProcessIds: Dispatch> | Dispatch>; + processKeys: React.Key[] | String[]; + setSelection: Dispatch> | Dispatch>; +}; +type CopyProcessType = { + bpmn: string; + newName?: string; + newDescription?: string; + oldId: string | Key; +}; + +const sliceTitleLength = (title: String) => { + return title.length > 50 ? `${title.slice(0, 51)} ...` : title; +}; + +const ProcessCopyModal: FC = ({ + setCopyProcessIds, + processKeys, + setSelection, +}) => { + const { mutateAsync: addProcess } = usePostAsset('/process', { + onError: async (error, variables) => { + // TODO: add id to failed + const id = await getDefinitionsId(variables.body.bpmn); + setFailed((prev) => [...prev, id as string]); + console.log(error); + console.log('variables', variables); + }, + onSuccess: (data) => { + if (data) { + setSelection((prev) => [...prev, data.definitionId as string]); + setSuccessful((prev) => [...prev, data.definitionId as string]); + } + }, + }); + + const [successful, setSuccessful] = useState([]); + const [failed, setFailed] = useState([]); + + const [loading, setLoading] = useState(false); + + const { preferences, addPreferences } = useUserPreferences(); + + const { 'process-copy-modal-accordion': isAccordion, 'ask-before-copying': copyModalPreference } = + preferences; + + const { data, refetch: refreshData } = useGetAsset('/process', { + params: { + query: { noBpmn: true }, + }, + }); + + const [bluePrintForProcesses, setBluePrintForProcesses] = useState( + data + ?.filter((process) => processKeys.includes(process.definitionId)) + .map((process) => { + return { + id: process.definitionId, + copyId: undefined, + name: process.definitionName, + copyName: undefined, + description: process.description, + }; + }), + ); + + useEffect(() => { + setBluePrintForProcesses( + data + ?.filter((process) => processKeys.includes(process.definitionId)) + .map((process) => { + return { + id: process.definitionId, + name: process.definitionName, + description: process.description, + copyId: undefined, + copyName: undefined, + }; + }), + ); + }, [data, processKeys]); + + useEffect(() => { + /* Some Failed */ + if (processKeys.length && successful.length + failed.length === processKeys.length) { + setLoading(false); + } + /* All Successful */ + if (processKeys.length && successful.length === processKeys.length) { + setTimeout(() => { + setCopyProcessIds([]); + setFailed([]); + setSuccessful([]); + refreshData(); + }, 2_000); + } + }, [successful, failed, processKeys, setSelection, setCopyProcessIds, refreshData]); + + const copyProcess = useCallback( + async ({ bpmn, newName, newDescription, oldId }: CopyProcessType) => { + const newDefinitionsId = await generateDefinitionsId(); + let newBPMN = await setDefinitionsId(bpmn, newDefinitionsId); + setBluePrintForProcesses((prev) => { + return prev?.map((item) => { + if (item.id === oldId) { + return { ...item, copyId: newDefinitionsId, copyName: newName }; + } + return item; + }); + }); + + newBPMN = await setDefinitionsName(newBPMN, newName || 'Copy of Process'); + newBPMN = await addDocumentation(newBPMN, newDescription || ''); + newBPMN = await setTargetNamespace(newBPMN, newDefinitionsId); + + newBPMN = await setDefinitionsVersionInformation(newBPMN, { + version: undefined, + versionName: undefined, + versionDescription: undefined, + versionBasedOn: undefined, + }); + + return newBPMN; + }, + [], + ); + + const copyProcesses = useCallback(() => { + // setLoading(true); + processKeys.forEach(async (id) => { + const process = data?.find((item) => item.definitionId === id); + const processBpmn = await fetchProcessVersionBpmn(id as string); + + const processBluePrint = bluePrintForProcesses?.find((item) => item.id === id); + + const newBPMN = await copyProcess({ + bpmn: processBpmn as string, + newName: processBluePrint?.name || `${process?.definitionName} (Copy)`, + newDescription: processBluePrint?.description || process?.description, + oldId: id as string, + }); + + addProcess({ + body: { + bpmn: newBPMN as string, + departments: [], + variables: [], + }, + }).then(() => { + setSelection((prev) => prev.filter((key: string) => key !== id)); + }); + }); + }, [addProcess, bluePrintForProcesses, copyProcess, data, processKeys, setSelection]); + + const handleCopy = useCallback(() => { + if (failed.length) { + setSelection(failed); + setCopyProcessIds(failed); + setFailed([]); + setSuccessful([]); + refreshData(); + } + + setLoading(true); + copyProcesses(); + }, [copyProcesses, failed, refreshData, setCopyProcessIds, setSelection]); + + const handleCancel = useCallback(() => { + setCopyProcessIds([]); + setFailed([]); + setSuccessful([]); + setBluePrintForProcesses([]); + }, [setCopyProcessIds]); + + const items: CollapseProps['items'] = processKeys.map((id) => { + /* Initial */ + return { + key: id, + label: ( + + {bluePrintForProcesses?.find((e) => e.id == id)?.name} + + ), + children: ( + <> +
Process-Name:
+ e.id == id)?.name} + onChange={(e) => { + setBluePrintForProcesses((prev) => { + return prev?.map((item) => { + if (item.id === id) { + return { ...item, name: e.target.value }; + } + return item; + }); + }); + }} + /> +
Process-Description:
+ +