refactor: workflow #1229

Co-authored-by: sealday <sealday@gmail.com>
Reviewed-on: daoyoucloud/tachybase#1231
This commit is contained in:
sealday 2024-06-22 05:55:35 +08:00
parent 3788486f12
commit 0ae8ec5db1
13 changed files with 231 additions and 95 deletions

View File

@ -25,7 +25,7 @@
"@tachybase/utils": "workspace:*",
"ahooks": "^3.7.2",
"antd": "5.18.3",
"antd-style": "3.4.5",
"antd-style": "3.6.2",
"axios": "^1.6.2",
"classnames": "^2.3.1",
"cronstrue": "^2.11.0",
@ -34,7 +34,7 @@
"deepmerge": "^4.2.2",
"file-saver": "^2.0.5",
"flat": "^5.0.2",
"i18next": "^23.11.5",
"i18next": "22.5.1",
"i18next-http-backend": "^2.1.1",
"lodash": "4.17.21",
"lru-cache": "8.0.5",

View File

@ -36,7 +36,7 @@
"decompress": "4.2.1",
"find-package-json": "^1.2.0",
"fs-extra": "^11.1.1",
"i18next": "^23.11.5",
"i18next": "22.5.1",
"ini": "^4.1.1",
"koa": "^2.13.4",
"koa-bodyparser": "^4.3.0",

View File

@ -356,11 +356,11 @@ export class Gateway extends EventEmitter {
}
get runAt() {
return `http://${this.host}:${this.port}/`;
return `http://${this.host}:${this.port}`;
}
get runAtLoop() {
return `http://127.0.0.1:${this.port}/`;
return `http://127.0.0.1:${this.port}`;
}
isHelp() {

View File

@ -13,7 +13,6 @@
"ahooks": "^3.7.2",
"antd": "5.18.3",
"dayjs": "^1.11.8",
"i18next": "^23.11.5",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-i18next": "^14.1.2"

View File

@ -19,7 +19,7 @@ function SyncOptionSelect(props) {
useFormEffects((form) => {
onFieldChange('type', (f: any) => {
let disabled = record.id || !f.value;
let disabled = !f.value;
if (f.value) {
const trigger = workflowPlugin.triggers.get(f.value);
if (trigger.sync != null) {
@ -35,7 +35,6 @@ function SyncOptionSelect(props) {
useEffect(() => {
if (record.id) {
field.setPattern('disabled');
const trigger = workflowPlugin.triggers.get(record.type);
if (trigger.sync != null) {
field.setValue(trigger.sync);
@ -43,7 +42,7 @@ function SyncOptionSelect(props) {
field.setInitialValue(false);
}
}
}, [record.id, field, workflowPlugin.triggers]);
}, [record.id, record.type, field, workflowPlugin.triggers]);
return <RadioWithTooltip {...props} />;
}

View File

@ -8,12 +8,12 @@ import { useForm } from '@tachybase/schema';
import { CollectionBlockInitializer } from '../../components';
import { useWorkflowAnyExecuted } from '../../hooks';
import { lang, NAMESPACE } from '../../locale';
import { lang, NAMESPACE, tval } from '../../locale';
import { Trigger } from '../../triggers';
import { getCollectionFieldOptions } from '../../variable';
export class ActionTrigger extends Trigger {
title = `{{t("Action event", { ns: "${NAMESPACE}" })}}`;
title = tval('Action event(deprecated)');
description = `{{t("Triggers after specific operations on data are submitted, such as create, update, delete, etc., or directly submitting a record to the workflow.", { ns: "${NAMESPACE}" })}}`;
fieldset = {
collection: {

View File

@ -22,7 +22,7 @@ const enum ACTION_TYPES {
DESTROY = 'destroy',
}
export class APIRegularTrigger extends Trigger {
title = lang('API Regular');
title = lang('API Regular(deprecated)');
description = lang('Trigger when an API call is made.');
fieldset = {
collection: {

View File

@ -37,7 +37,7 @@ function useItems(item, options) {
}
export class WorkflowTriggerInterceptor extends Trigger {
sync = true;
title = lang('Pre-action event');
title = lang('Interceptor');
description = lang(
'Triggered before the execution of a request initiated through an action button or API, such as before adding, updating, or deleting data. Suitable for data validation and logic judgment before action, and the request could be rejected by using the "End process" node.',
);

View File

@ -22,7 +22,10 @@ export class VariablesInstruction extends Instruction {
title: tval('Value'),
'x-decorator': 'FormItem',
'x-component': 'WorkflowVariableInput',
'x-component-props': { useTypedConstant: true },
'x-component-props': {
useTypedConstant: true,
changeOnSelect: true,
},
default: '',
},
};

View File

@ -1,9 +1,41 @@
import React from 'react';
import { CollectionOptions, ExtendCollectionsProvider, SchemaComponent, WorkflowSelect } from '@tachybase/client';
import {
CollectionOptions,
ExtendCollectionsProvider,
ResourceActionProvider,
SchemaComponent,
useRecord,
WorkflowSelect,
} from '@tachybase/client';
import { CodeMirror } from '@tachybase/components';
import { ISchema } from '@tachybase/schema';
import { tval } from '../../locale';
import { Button, Space } from 'antd';
import { ExecutionStatusColumn } from '../../components/ExecutionStatus';
import OpenDrawer from '../../components/OpenDrawer';
import { ExecutionLink } from '../../ExecutionLink';
import { lang, tval } from '../../locale';
import { executionSchema } from '../../schemas/executions';
export const ExecutionResourceProvider = ({ request, filter = {}, ...others }) => {
const webhook = useRecord();
const props = {
...others,
request: {
...request,
params: {
...request?.params,
filter: {
...request?.params?.filter,
key: webhook.workflowKey,
},
},
},
};
return <ResourceActionProvider {...props} />;
};
export const collection: CollectionOptions = {
name: 'webhooks',
@ -397,12 +429,25 @@ const schema: ISchema = {
'x-collection-field': 'webhooks.workflowKey',
'x-component': 'CollectionField',
'x-read-pretty': true,
'x-decorator': null,
'x-decorator': 'OpenDrawer',
'x-decorator-props': {
labelStyle: {
display: 'none',
component: function Com({ children, onClick }) {
const webhook = useRecord();
return (
<Space size="small">
{children}
{webhook.workflowKey ? (
<Button type="link" onClick={onClick} style={{ padding: 0, marginLeft: '-4px' }}>
({lang('View executions')})
</Button>
) : null}
</Space>
);
},
},
properties: {
drawer: executionSchema,
},
},
},
},
@ -691,7 +736,18 @@ const schema: ISchema = {
export const WebhookManager = () => {
return (
<ExtendCollectionsProvider collections={[collection]}>
<SchemaComponent memoized schema={schema} components={{ WorkflowSelect, CodeMirror }}></SchemaComponent>
<SchemaComponent
memoized
schema={schema}
components={{
ExecutionStatusColumn,
ExecutionResourceProvider,
OpenDrawer,
ExecutionLink,
WorkflowSelect,
CodeMirror,
}}
></SchemaComponent>
</ExtendCollectionsProvider>
);
};

View File

@ -145,6 +145,7 @@
"Initiator": "Initiator",
"Input request data": "Input request data",
"Insert": "Insert",
"Interceptor": "Interceptor",
"Launch": "Launch",
"Load failed": "Load failed",
"Loading": "Loading",
@ -261,6 +262,7 @@
"Variable datasource": "Variable datasource",
"Variable": "Variable",
"Version": "Version",
"View executions": "View executions",
"View user interface": "View user interface",
"Voting": "Voting",
"Webhook manager": "Webhook manager",

View File

@ -1,7 +1,9 @@
{
"A single number will be treated as a loop count, a single string will be treated as an array of characters, and other non-array values will be converted to arrays. The loop node ends when the loop count is reached, or when the array loop is completed. You can also add condition nodes to the loop to terminate it.": "单一数字值将被视为循环次数,单一字符串值将被视为字符数组,其他非数组值将被转换为数组。达到循环次数,或者将数组循环完成后,循环节点结束。你也可以在循环中添加条件节点,以终止循环。",
"API Regular(deprecated)": "通用API已废弃",
"Aborted": "已终止",
"Action event": "操作事件",
"Action event(deprecated)": "操作事件(已废弃)",
"Actions from any form block can be bound to this workflow for initiating approvals, and the approval process can be handled and tracked in the approval block of a single record which is typically applicable to business data.": "可以将任意表单区块的操作绑定到该工作流,用于发起审批,并在单条数据的审批区块里处理和跟踪审批过程,通常适用于业务数据。",
"Add Notified Person": "添加被通知人",
"Add assignee": "添加审批人",
@ -182,6 +184,7 @@
"Initiator's interface": "发起人的操作界面",
"Input request data": "输入请求数据",
"Insert": "插入",
"Interceptor": "拦截器",
"Launch": "发起",
"Load failed": "加载失败",
"Loading": "加载中",
@ -333,6 +336,7 @@
"Variable key of node": "节点变量标识",
"Variable": "变量",
"Version": "版本",
"View executions": "查看执行记录",
"View user interface": "查看界面",
"Voting": "投票",
"Webhook manager": "Webhook 管理",

View File

@ -426,7 +426,7 @@ importers:
version: 4.14.1
rollup-plugin-dts:
specifier: ^6.1.0
version: 6.1.0(rollup@4.14.1)(typescript@5.4.5)
version: 6.1.0(rollup@4.14.1)(typescript@5.5.2)
rollup-plugin-esbuild:
specifier: ^6.1.1
version: 6.1.1(esbuild@0.21.5)(rollup@4.14.1)
@ -497,8 +497,8 @@ importers:
specifier: 5.18.3
version: 5.18.3(react-dom@18.3.1)(react@18.3.1)
antd-style:
specifier: 3.4.5
version: 3.4.5(@types/react@18.3.3)(antd@5.18.3)(react-dom@18.3.1)(react@18.3.1)
specifier: 3.6.2
version: 3.6.2(@types/react@18.3.3)(antd@5.18.3)(react-dom@18.3.1)(react@18.3.1)
axios:
specifier: ^1.6.2
version: 1.6.7
@ -524,8 +524,8 @@ importers:
specifier: ^5.0.2
version: 5.0.2
i18next:
specifier: ^23.11.5
version: 23.11.5
specifier: 22.5.1
version: 22.5.1
i18next-http-backend:
specifier: ^2.1.1
version: 2.4.2
@ -582,7 +582,7 @@ importers:
version: 3.4.7(react-dom@18.3.1)(react@18.3.1)
react-i18next:
specifier: ^14.1.2
version: 14.1.2(i18next@23.11.5)(react-dom@18.3.1)(react@18.3.1)
version: 14.1.2(i18next@22.5.1)(react-dom@18.3.1)(react@18.3.1)
react-iframe:
specifier: ~1.8.5
version: 1.8.5(react@18.3.1)
@ -649,7 +649,7 @@ importers:
version: 5.3.7(react-dom@18.3.1)(react@18.3.1)
'@codemirror/autocomplete':
specifier: ^6.16.2
version: 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1)
version: 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.2)(@lezer/common@1.2.1)
'@codemirror/lang-javascript':
specifier: ^6.2.2
version: 6.2.2
@ -667,16 +667,16 @@ importers:
version: 2.3.1
'@formily/grid':
specifier: 2.3.1
version: 2.3.1(typescript@5.4.5)
version: 2.3.1(typescript@5.5.2)
'@formily/json-schema':
specifier: 2.3.1
version: 2.3.1(typescript@5.4.5)
version: 2.3.1(typescript@5.5.2)
'@formily/path':
specifier: 2.3.1
version: 2.3.1
'@formily/react':
specifier: 2.3.1
version: 2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(typescript@5.4.5)
version: 2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(typescript@5.5.2)
'@formily/reactive':
specifier: 2.3.1
version: 2.3.1
@ -691,7 +691,7 @@ importers:
version: 2.3.1
'@uiw/react-codemirror':
specifier: ^4.22.2
version: 4.22.2(@babel/runtime@7.24.7)(@codemirror/autocomplete@6.16.3)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.28.1)(codemirror@6.0.1)(react-dom@18.3.1)(react@18.3.1)
version: 4.22.2(@babel/runtime@7.24.7)(@codemirror/autocomplete@6.16.3)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.28.2)(codemirror@6.0.1)(react-dom@18.3.1)(react@18.3.1)
antd:
specifier: ^5.18.3
version: 5.18.3(react-dom@18.3.1)(react@18.3.1)
@ -1062,16 +1062,16 @@ importers:
version: 2.3.1
'@formily/grid':
specifier: 2.3.1
version: 2.3.1(typescript@5.4.5)
version: 2.3.1(typescript@5.5.2)
'@formily/json-schema':
specifier: 2.3.1
version: 2.3.1(typescript@5.4.5)
version: 2.3.1(typescript@5.5.2)
'@formily/path':
specifier: 2.3.1
version: 2.3.1
'@formily/react':
specifier: 2.3.1
version: 2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(typescript@5.4.5)
version: 2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(typescript@5.5.2)
'@formily/reactive':
specifier: 2.3.1
version: 2.3.1
@ -1197,8 +1197,8 @@ importers:
specifier: ^11.1.1
version: 11.2.0
i18next:
specifier: ^23.11.5
version: 23.11.5
specifier: 22.5.1
version: 22.5.1
ini:
specifier: ^4.1.1
version: 4.1.1
@ -2047,9 +2047,6 @@ importers:
dayjs:
specifier: 1.11.10
version: 1.11.10
i18next:
specifier: ^23.11.5
version: 23.11.5
react:
specifier: ^18.3.1
version: 18.3.1
@ -2653,7 +2650,7 @@ importers:
devDependencies:
'@formily/json-schema':
specifier: 2.3.1
version: 2.3.1(typescript@5.4.5)
version: 2.3.1(typescript@5.5.2)
lodash:
specifier: 4.17.21
version: 4.17.21
@ -3850,7 +3847,7 @@ importers:
devDependencies:
'@formily/json-schema':
specifier: 2.3.1
version: 2.3.1(typescript@5.4.5)
version: 2.3.1(typescript@5.5.2)
lodash:
specifier: 4.17.21
version: 4.17.21
@ -5130,7 +5127,7 @@ packages:
react: '>=17.0.0'
react-dom: '>=17.0.0'
dependencies:
'@ant-design/cssinjs': 1.20.0(react-dom@18.3.1)(react@18.3.1)
'@ant-design/cssinjs': 1.18.2(react-dom@18.3.1)(react@18.3.1)
'@babel/runtime': 7.24.0
'@ctrl/tinycolor': 3.6.1
antd: 5.18.3(react-dom@18.3.1)(react@18.3.1)
@ -7876,6 +7873,7 @@ packages:
engines: {node: '>=6.9.0'}
dependencies:
regenerator-runtime: 0.14.1
dev: true
/@babel/runtime@7.24.7:
resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==}
@ -8174,6 +8172,20 @@ packages:
'@lezer/common': 1.2.1
dev: false
/@codemirror/autocomplete@6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.2)(@lezer/common@1.2.1):
resolution: {integrity: sha512-Vl/tIeRVVUCRDuOG48lttBasNQu8usGgXQawBXI7WJAiUDSFOfzflmEsZFZo48mAvAaa4FZ/4/yLLxFtdJaKYA==}
peerDependencies:
'@codemirror/language': ^6.0.0
'@codemirror/state': ^6.0.0
'@codemirror/view': ^6.0.0
'@lezer/common': ^1.0.0
dependencies:
'@codemirror/language': 6.10.2
'@codemirror/state': 6.4.1
'@codemirror/view': 6.28.2
'@lezer/common': 1.2.1
dev: false
/@codemirror/commands@6.6.0:
resolution: {integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==}
dependencies:
@ -8218,7 +8230,7 @@ packages:
resolution: {integrity: sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==}
dependencies:
'@codemirror/state': 6.4.1
'@codemirror/view': 6.28.1
'@codemirror/view': 6.28.2
crelt: 1.0.6
dev: false
@ -8231,7 +8243,7 @@ packages:
dependencies:
'@codemirror/language': 6.10.2
'@codemirror/state': 6.4.1
'@codemirror/view': 6.28.1
'@codemirror/view': 6.28.2
'@lezer/highlight': 1.2.0
dev: false
@ -8243,6 +8255,14 @@ packages:
w3c-keyname: 2.2.8
dev: false
/@codemirror/view@6.28.2:
resolution: {integrity: sha512-A3DmyVfjgPsGIjiJqM/zvODUAPQdQl3ci0ghehYNnbt5x+o76xq+dL5+mMBuysDXnI3kapgOkoeJ0sbtL/3qPw==}
dependencies:
'@codemirror/state': 6.4.1
style-mod: 4.1.2
w3c-keyname: 2.2.8
dev: false
/@colors/colors@1.6.0:
resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
engines: {node: '>=0.1.90'}
@ -8692,8 +8712,8 @@ packages:
/@emotion/memoize@0.8.1:
resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
/@emotion/react@11.11.1(@types/react@18.3.3)(react@18.3.1):
resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==}
/@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1):
resolution: {integrity: sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==}
peerDependencies:
'@types/react': '*'
react: '>=16.8.0'
@ -8701,10 +8721,10 @@ packages:
'@types/react':
optional: true
dependencies:
'@babel/runtime': 7.24.0
'@babel/runtime': 7.24.7
'@emotion/babel-plugin': 11.11.0
'@emotion/cache': 11.11.0
'@emotion/serialize': 1.1.2
'@emotion/serialize': 1.1.4
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.3.1)
'@emotion/utils': 1.2.1
'@emotion/weak-memoize': 0.3.1
@ -8723,6 +8743,16 @@ packages:
csstype: 3.1.3
dev: false
/@emotion/serialize@1.1.4:
resolution: {integrity: sha512-RIN04MBT8g+FnDwgvIUi8czvr1LU1alUMI05LekWB5DGyTm8cCBMCRpq3GqaiyEDRptEXOyXnvZ58GZYu4kBxQ==}
dependencies:
'@emotion/hash': 0.9.1
'@emotion/memoize': 0.8.1
'@emotion/unitless': 0.8.1
'@emotion/utils': 1.2.1
csstype: 3.1.3
dev: false
/@emotion/server@11.11.0(@emotion/css@11.11.2):
resolution: {integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==}
peerDependencies:
@ -9560,7 +9590,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
espree: 9.6.1
globals: 13.24.0
ignore: 5.3.1
@ -9687,7 +9717,7 @@ packages:
'@formily/shared': 2.3.1
'@formily/validator': 2.3.1
/@formily/grid@2.3.1(typescript@5.4.5):
/@formily/grid@2.3.1(typescript@5.5.2):
resolution: {integrity: sha512-Je+sWa7b71qZgysbVQXiv+3bOqXnKZ3vU4RIhMXrTL4ac46+9dNSXGSVrC85C98lq9EJp/uUJhtLdUb6P3WStg==}
engines: {npm: '>=3.0.0'}
peerDependencies:
@ -9695,10 +9725,10 @@ packages:
dependencies:
'@formily/reactive': 2.3.1
'@juggle/resize-observer': 3.4.0
typescript: 5.4.5
typescript: 5.5.2
dev: false
/@formily/json-schema@2.3.1(typescript@5.4.5):
/@formily/json-schema@2.3.1(typescript@5.5.2):
resolution: {integrity: sha512-LcJmU1BOYGdoip+Q9YAxHdrpjdl781WFSg0fDTD9/0A7c3xUXWwxdCYZIN0cvoXi2qq8Khyzba0pizl3YSkf0A==}
engines: {npm: '>=3.0.0'}
peerDependencies:
@ -9707,13 +9737,13 @@ packages:
'@formily/core': 2.3.1
'@formily/reactive': 2.3.1
'@formily/shared': 2.3.1
typescript: 5.4.5
typescript: 5.5.2
/@formily/path@2.3.1:
resolution: {integrity: sha512-BVo89K5nAFntx02+EV696If1b1bVIm5I1tRPtVyCVIjBIfAgga5hK4k80GZ01Dlk3tpReHpiIbZVg2DNVfw7jA==}
engines: {npm: '>=3.0.0'}
/@formily/react@2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(typescript@5.4.5):
/@formily/react@2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)(typescript@5.5.2):
resolution: {integrity: sha512-8KkFJe2OnbsgiXwY/txUcUaCQIfIkfowWQinOSni02U2ssgs2bpb1ifFHlZrFGfrrW/xhce4ANUHRgoVYt7W4Q==}
engines: {npm: '>=3.0.0'}
peerDependencies:
@ -9729,7 +9759,7 @@ packages:
optional: true
dependencies:
'@formily/core': 2.3.1
'@formily/json-schema': 2.3.1(typescript@5.4.5)
'@formily/json-schema': 2.3.1(typescript@5.5.2)
'@formily/reactive': 2.3.1
'@formily/reactive-react': 2.3.1(@types/react-dom@18.3.0)(@types/react@18.3.3)(react-dom@18.3.1)(react-is@18.3.1)(react@18.3.1)
'@formily/shared': 2.3.1
@ -9828,7 +9858,7 @@ packages:
engines: {node: '>=10.10.0'}
dependencies:
'@humanwhocodes/object-schema': 2.0.1
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@ -10451,9 +10481,9 @@ packages:
engines: {node: '>=4.0'}
dependencies:
async: 2.6.4
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
eventemitter2: 6.4.9
extrareqp2: 1.0.0(debug@4.3.5)
extrareqp2: 1.0.0(debug@4.3.4)
ws: 7.5.9
transitivePeerDependencies:
- bufferutil
@ -10910,7 +10940,7 @@ packages:
dependencies:
'@babel/runtime': 7.24.7
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.38.1(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@ -12989,7 +13019,7 @@ packages:
dependencies:
'@typescript-eslint/typescript-estree': 6.14.0(typescript@5.4.4)
'@typescript-eslint/utils': 6.14.0(eslint@8.55.0)(typescript@5.4.4)
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
eslint: 8.55.0
ts-api-utils: 1.0.3(typescript@5.4.4)
typescript: 5.4.4
@ -13059,7 +13089,7 @@ packages:
dependencies:
'@typescript-eslint/types': 6.14.0
'@typescript-eslint/visitor-keys': 6.14.0
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
globby: 11.1.0
is-glob: 4.0.3
semver: 7.6.0
@ -13143,7 +13173,7 @@ packages:
eslint-visitor-keys: 3.4.3
dev: false
/@uiw/codemirror-extensions-basic-setup@4.22.2(@codemirror/autocomplete@6.16.3)(@codemirror/commands@6.6.0)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1):
/@uiw/codemirror-extensions-basic-setup@4.22.2(@codemirror/autocomplete@6.16.3)(@codemirror/commands@6.6.0)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.28.2):
resolution: {integrity: sha512-zcHGkldLFN3cGoI5XdOGAkeW24yaAgrDEYoyPyWHODmPiNwybQQoZGnH3qUdzZwUaXtAcLWoAeOPzfNRW2yGww==}
peerDependencies:
'@codemirror/autocomplete': '>=6.0.0'
@ -13154,16 +13184,16 @@ packages:
'@codemirror/state': '>=6.0.0'
'@codemirror/view': '>=6.0.0'
dependencies:
'@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1)
'@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.2)(@lezer/common@1.2.1)
'@codemirror/commands': 6.6.0
'@codemirror/language': 6.10.2
'@codemirror/lint': 6.8.1
'@codemirror/search': 6.5.6
'@codemirror/state': 6.4.1
'@codemirror/view': 6.28.1
'@codemirror/view': 6.28.2
dev: false
/@uiw/react-codemirror@4.22.2(@babel/runtime@7.24.7)(@codemirror/autocomplete@6.16.3)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.28.1)(codemirror@6.0.1)(react-dom@18.3.1)(react@18.3.1):
/@uiw/react-codemirror@4.22.2(@babel/runtime@7.24.7)(@codemirror/autocomplete@6.16.3)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/theme-one-dark@6.1.2)(@codemirror/view@6.28.2)(codemirror@6.0.1)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-okCSl+WJG63gRx8Fdz7v0C6RakBQnbb3pHhuzIgDB+fwhipgFodSnu2n9oOsQesJ5YQ7mSOcKMgX0JEsu4nnfQ==}
peerDependencies:
'@babel/runtime': '>=7.11.0'
@ -13178,8 +13208,8 @@ packages:
'@codemirror/commands': 6.6.0
'@codemirror/state': 6.4.1
'@codemirror/theme-one-dark': 6.1.2
'@codemirror/view': 6.28.1
'@uiw/codemirror-extensions-basic-setup': 4.22.2(@codemirror/autocomplete@6.16.3)(@codemirror/commands@6.6.0)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)
'@codemirror/view': 6.28.2
'@uiw/codemirror-extensions-basic-setup': 4.22.2(@codemirror/autocomplete@6.16.3)(@codemirror/commands@6.6.0)(@codemirror/language@6.10.2)(@codemirror/lint@6.8.1)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.28.2)
codemirror: 6.0.1(@lezer/common@1.2.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@ -14480,18 +14510,18 @@ packages:
tslib: 2.6.3
use-sync-external-store: 1.2.2(react@18.3.1)
/antd-style@3.4.5(@types/react@18.3.3)(antd@5.18.3)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-6aC4P9XyuVy0O7eZ+HZXd8GbbFX9HgzsXsJ341ihJhgqrfsQZNx8lDQvS2kCV6ao99QqtyTDphK9gWOgV2bHEw==}
/antd-style@3.6.2(@types/react@18.3.3)(antd@5.18.3)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-p6tRV63+U9yp3T3DB4ope1Xs3VdkhNsPD+yiZMJnR57dclPQPtrNnrGBmdGwjWYP1HlzB1XS4JHqFAyMjvObHA==}
peerDependencies:
antd: '>=5.8.1'
react: '>=18'
dependencies:
'@ant-design/cssinjs': 1.18.2(react-dom@18.3.1)(react@18.3.1)
'@babel/runtime': 7.24.0
'@ant-design/cssinjs': 1.21.0(react-dom@18.3.1)(react@18.3.1)
'@babel/runtime': 7.24.7
'@emotion/cache': 11.11.0
'@emotion/css': 11.11.2
'@emotion/react': 11.11.1(@types/react@18.3.3)(react@18.3.1)
'@emotion/serialize': 1.1.2
'@emotion/react': 11.11.4(@types/react@18.3.3)(react@18.3.1)
'@emotion/serialize': 1.1.4
'@emotion/server': 11.11.0(@emotion/css@11.11.2)
'@emotion/utils': 1.2.1
antd: 5.18.3(react-dom@18.3.1)(react@18.3.1)
@ -14976,7 +15006,7 @@ packages:
/axios@1.6.8:
resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==}
dependencies:
follow-redirects: 1.15.6(debug@4.3.5)
follow-redirects: 1.15.6(debug@4.3.4)
form-data: 4.0.0
proxy-from-env: 1.1.0
transitivePeerDependencies:
@ -16065,13 +16095,13 @@ packages:
/codemirror@6.0.1(@lezer/common@1.2.1):
resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==}
dependencies:
'@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.1)(@lezer/common@1.2.1)
'@codemirror/autocomplete': 6.16.3(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.2)(@lezer/common@1.2.1)
'@codemirror/commands': 6.6.0
'@codemirror/language': 6.10.2
'@codemirror/lint': 6.8.1
'@codemirror/search': 6.5.6
'@codemirror/state': 6.4.1
'@codemirror/view': 6.28.1
'@codemirror/view': 6.28.2
transitivePeerDependencies:
- '@lezer/common'
dev: false
@ -16502,7 +16532,7 @@ packages:
path-type: 4.0.0
yaml: 1.10.2
/cosmiconfig@9.0.0(typescript@5.4.5):
/cosmiconfig@9.0.0(typescript@5.4.4):
resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
engines: {node: '>=14'}
peerDependencies:
@ -16515,7 +16545,7 @@ packages:
import-fresh: 3.3.0
js-yaml: 4.1.0
parse-json: 5.2.0
typescript: 5.4.5
typescript: 5.4.4
/crc-32@1.2.2:
resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
@ -18970,10 +19000,10 @@ packages:
tmp: 0.0.33
dev: true
/extrareqp2@1.0.0(debug@4.3.5):
/extrareqp2@1.0.0(debug@4.3.4):
resolution: {integrity: sha512-Gum0g1QYb6wpPJCVypWP3bbIuaibcFiJcpuPM10YSXp/tzqi84x9PJageob+eN4xVRIOto4wjSGNLyMD54D2xA==}
dependencies:
follow-redirects: 1.15.6(debug@4.3.5)
follow-redirects: 1.15.6(debug@4.3.4)
transitivePeerDependencies:
- debug
dev: false
@ -19289,6 +19319,17 @@ packages:
debug:
optional: true
/follow-redirects@1.15.6(debug@4.3.4):
resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
engines: {node: '>=4.0'}
peerDependencies:
debug: '*'
peerDependenciesMeta:
debug:
optional: true
dependencies:
debug: 4.3.4
/follow-redirects@1.15.6(debug@4.3.5):
resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
engines: {node: '>=4.0'}
@ -19299,6 +19340,7 @@ packages:
optional: true
dependencies:
debug: 4.3.5(supports-color@5.5.0)
dev: false
/fontkit@2.0.2:
resolution: {integrity: sha512-jc4k5Yr8iov8QfS6u8w2CnHWVmbOGtdBtOXMze5Y+QD966Rx6PEVWXSEGwXlsDlKtu1G12cJjcsybnqhSk/+LA==}
@ -20336,6 +20378,12 @@ packages:
- encoding
dev: false
/i18next@22.5.1:
resolution: {integrity: sha512-8TGPgM3pAD+VRsMtUMNknRz3kzqwp/gPALrWMsDnmC1mKqJwpWyooQRLMcbTwq8z8YwSmuj+ZYvc+xCuEpkssA==}
dependencies:
'@babel/runtime': 7.24.7
dev: false
/i18next@23.11.5:
resolution: {integrity: sha512-41pvpVbW9rhZPk5xjCX2TPJi2861LEig/YRhUkY+1FQ2IQPS0bKUDYnEqY8XPPbB48h1uIwLnP9iiEfuSl20CA==}
dependencies:
@ -23982,7 +24030,7 @@ packages:
resolution: {integrity: sha512-FbLvW60w+vEyvMjP/xom2UPhUN/2bVpdtLfKJeYM3gwzYhoTEEChCOICfFzxkxuoEleOlnpjie+n1nue91bDQw==}
engines: {node: '>=5'}
dependencies:
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: false
@ -23993,7 +24041,7 @@ packages:
dependencies:
amp: 0.3.1
amp-message: 0.1.2
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
escape-string-regexp: 4.0.0
transitivePeerDependencies:
- supports-color
@ -25351,10 +25399,10 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.0
'@babel/runtime': 7.24.7
classnames: 2.5.1
rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.38.1(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@ -25462,7 +25510,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.7
'@babel/runtime': 7.24.0
classnames: 2.5.1
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
@ -25828,7 +25876,7 @@ packages:
react: '>=16.9.0'
react-dom: '>=16.9.0'
dependencies:
'@babel/runtime': 7.24.5
'@babel/runtime': 7.24.0
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-is: 18.3.1
@ -25910,7 +25958,7 @@ packages:
'@babel/runtime': 7.24.7
classnames: 2.5.1
rc-resize-observer: 1.4.0(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.38.1(react-dom@18.3.1)(react@18.3.1)
rc-util: 5.43.0(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@ -26088,6 +26136,26 @@ packages:
react-dom: 18.3.1(react@18.3.1)
dev: false
/react-i18next@14.1.2(i18next@22.5.1)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-FSIcJy6oauJbGEXfhUgVeLzvWBhIBIS+/9c6Lj4niwKZyGaGb4V4vUbATXSlsHJDXXB+ociNxqFNiFuV1gmoqg==}
peerDependencies:
i18next: '>= 23.2.3'
react: '>= 16.8.0'
react-dom: '*'
react-native: '*'
peerDependenciesMeta:
react-dom:
optional: true
react-native:
optional: true
dependencies:
'@babel/runtime': 7.24.7
html-parse-stringify: 3.0.1
i18next: 22.5.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
dev: false
/react-i18next@14.1.2(i18next@23.11.5)(react-dom@18.3.1)(react@18.3.1):
resolution: {integrity: sha512-FSIcJy6oauJbGEXfhUgVeLzvWBhIBIS+/9c6Lj4niwKZyGaGb4V4vUbATXSlsHJDXXB+ociNxqFNiFuV1gmoqg==}
peerDependencies:
@ -26938,7 +27006,7 @@ packages:
resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==}
dev: false
/rollup-plugin-dts@6.1.0(rollup@4.14.1)(typescript@5.4.5):
/rollup-plugin-dts@6.1.0(rollup@4.14.1)(typescript@5.5.2):
resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==}
engines: {node: '>=16'}
peerDependencies:
@ -26947,7 +27015,7 @@ packages:
dependencies:
magic-string: 0.30.8
rollup: 4.14.1
typescript: 5.4.5
typescript: 5.5.2
optionalDependencies:
'@babel/code-frame': 7.24.7
dev: true
@ -28199,17 +28267,17 @@ packages:
peerDependencies:
stylelint: ^14.4.0
dependencies:
stylelint: 16.6.1(typescript@5.4.5)
stylelint: 16.6.1(typescript@5.4.4)
/stylelint-config-standard@25.0.0(stylelint@16.6.1):
resolution: {integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==}
peerDependencies:
stylelint: ^14.4.0
dependencies:
stylelint: 16.6.1(typescript@5.4.5)
stylelint: 16.6.1(typescript@5.4.4)
stylelint-config-recommended: 7.0.0(stylelint@16.6.1)
/stylelint@16.6.1(typescript@5.4.5):
/stylelint@16.6.1(typescript@5.4.4):
resolution: {integrity: sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==}
engines: {node: '>=18.12.0'}
hasBin: true
@ -28221,7 +28289,7 @@ packages:
'@dual-bundle/import-meta-resolve': 4.1.0
balanced-match: 2.0.0
colord: 2.9.3
cosmiconfig: 9.0.0(typescript@5.4.5)
cosmiconfig: 9.0.0(typescript@5.4.4)
css-functions-list: 3.2.2
css-tree: 2.3.1
debug: 4.3.5(supports-color@5.5.0)
@ -29222,12 +29290,17 @@ packages:
resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==}
engines: {node: '>=14.17'}
hasBin: true
dev: false
/typescript@5.4.5:
resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
engines: {node: '>=14.17'}
hasBin: true
dev: true
/typescript@5.5.2:
resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==}
engines: {node: '>=14.17'}
hasBin: true
/uc.micro@1.0.6:
resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==}
@ -29816,7 +29889,7 @@ packages:
hasBin: true
dependencies:
cac: 6.7.14
debug: 4.3.5(supports-color@5.5.0)
debug: 4.3.4
pathe: 1.1.2
picocolors: 1.0.0
vite: 5.2.13(@types/node@20.14.2)(sass@1.75.0)