e.stopPropagation()}
- className="w-[200px] max-h-[349px] overflow-y-auto"
- onClick={e => e.stopPropagation()}>
-
+
+
+ {values?.length > 0 && (
+
+ {values.map((task, idx) => (
+ handleItemDelete(idx)}
+ onClick={() => handleItemClick(idx)}
+ index={idx}
+ moveTask={moveTask}
+ draggable={draggable} // 传递draggable参数
+ />
+ ))}
- }>
-
-
- >
+ )}
+
btnRef.current || document.body}
+ open={open}
+ overlay={
+ e.stopPropagation()}
+ className="w-[200px] max-h-[349px] overflow-y-auto"
+ onClick={e => e.stopPropagation()}>
+
+
+ }>
+
+
+
+
);
};
+type DragItem = {
+ index: number;
+};
+
const TaskItem = ({
name,
onDelete,
onClick,
+ index,
+ moveTask,
+ draggable, // 新增参数
}: {
name: string;
onDelete: () => void;
onClick: (e: React.MouseEvent
) => void;
+ index: number;
+ moveTask: (dragIndex: number, hoverIndex: number) => void;
+ draggable?: boolean; // 新增参数类型
}) => {
+ const dragRef = useRef(null);
+ const previewRef = useRef(null);
+
+ const [, drop] = useDrop({
+ accept: 'TASK',
+ hover: (item: DragItem, monitor) => {
+ if (!dragRef.current || !draggable) {
+ // 添加draggable判断
+ return;
+ }
+ const dragIndex = item.index;
+ const hoverIndex = index;
+
+ const hoverBoundingRect = dragRef.current?.getBoundingClientRect();
+ const hoverMiddleY =
+ (hoverBoundingRect.bottom - hoverBoundingRect.top) / 2;
+ const clientOffset = monitor.getClientOffset() || { x: 0, y: 0 };
+ const hoverClientY = clientOffset?.y - hoverBoundingRect.top;
+
+ if (
+ dragIndex === hoverIndex ||
+ (hoverClientY < hoverMiddleY && dragIndex < hoverIndex) ||
+ (hoverClientY > hoverMiddleY && dragIndex > hoverIndex)
+ ) {
+ return;
+ }
+
+ moveTask(dragIndex, hoverIndex);
+ item.index = hoverIndex;
+ },
+ });
+
+ const [{ isDragging }, drag, preview] = useDrag({
+ type: 'TASK',
+ item: { index },
+ collect: monitor => ({
+ isDragging: monitor.isDragging(),
+ }),
+ canDrag: draggable,
+ });
+
+ if (draggable) {
+ drag(drop(dragRef));
+ preview(drop(previewRef));
+ }
+
return (
{
e.stopPropagation();
onClick(e);
}}
- className="group h-8 flex items-center justify-between bg-surface-container-default rounded-lg p-2 text-default font-medium cursor-pointer">
+ className={`relative group h-8 flex items-center bg-surface-container-default rounded-lg p-2 text-default font-medium cursor-pointer ${isDragging ? 'opacity-50' : ''}`}>
+ {draggable && (
+
+
+
+ )}
{name}
{
e.preventDefault();
e.stopPropagation();
onDelete();
}}
/>
+
);
};
diff --git a/web/apps/web/src/components/app/node-form/widgets/variable-select/use-select-options.tsx b/web/apps/web/src/components/app/node-form/widgets/variable-select/use-select-options.tsx
index 9c30f82a..27a6e748 100644
--- a/web/apps/web/src/components/app/node-form/widgets/variable-select/use-select-options.tsx
+++ b/web/apps/web/src/components/app/node-form/widgets/variable-select/use-select-options.tsx
@@ -32,56 +32,60 @@ export const useSelectOptions = (name?: string) => {
const globalGroup = [...context, ...states];
- const options = useMemo(() => {
- const formatOptions = (items: any[]): CascaderOption[] => {
- return items.reduce((memo, item) => {
- const current = { ...item };
- if (
- parent?.startsWith('input.') &&
- ['Input', 'Tasks', 'Output'].includes(current.label)
- ) {
+ const formatOptions = (items: any[]): CascaderOption[] => {
+ return items.reduce((memo, item) => {
+ const current = { ...item };
+ if (
+ parent?.startsWith('input.') &&
+ ['Input', 'Output', 'Task'].includes(current.label)
+ ) {
+ return memo;
+ }
+ if (parent?.startsWith('blocks.')) {
+ if (['Output'].includes(current.label)) {
return memo;
}
- if (parent?.startsWith('blocks.')) {
- if (['Output'].includes(current.label)) {
- return memo;
+ if (['Task'].includes(current.label)) {
+ const match = parent.match(/(\d+)$/);
+ if (match?.[1]) {
+ const parentIndex = Number(match[1]);
+ // 只展示索引小于当前任务索引的任务
+ current.children = (current.children as CascaderOption[])?.filter(
+ (_, index) => index < parentIndex,
+ );
}
- if (['Tasks'].includes(current.label)) {
- const match = parent.match(/(\d+)$/);
- if (match?.[1]) {
- current.children = current.children?.splice(0, Number(match[1]));
- }
- if (isEmpty(current.children)) {
- return memo;
- }
+ if (isEmpty(current.children)) {
+ return memo;
}
- } else if (
- name?.startsWith('output.') &&
- ['Output'].includes(current.label)
- ) {
- return memo;
- } else if (
- name?.startsWith('context.') &&
- ['Start-Context'].includes(current.label)
- ) {
- return memo;
}
- memo.push({
- label: current.label,
- value: `{{${current.value}}}`,
- children: current.children?.map((child: any) => ({
- label: child.label,
- value: `{{${child.value}}}`,
- children: child.children?.map((grandchild: any) => ({
- label: grandchild.label,
- value: `{{${grandchild.value}}}`,
- })),
- })),
- });
+ } else if (
+ name?.startsWith('output.') &&
+ ['Output'].includes(current.label)
+ ) {
+ return memo;
+ } else if (
+ name?.startsWith('context.') &&
+ ['Start-Context'].includes(current.label)
+ ) {
return memo;
- }, [] as CascaderOption[]);
- };
+ }
+ memo.push({
+ label: current.label,
+ value: `{{${current.value}}}`,
+ children: current.children?.map((child: any) => ({
+ label: child.label,
+ value: `{{${child.value}}}`,
+ children: child.children?.map((grandchild: any) => ({
+ label: grandchild.label,
+ value: `{{${grandchild.value}}}`,
+ })),
+ })),
+ });
+ return memo;
+ }, [] as CascaderOption[]);
+ };
+ const options = useMemo(() => {
return [
{ label: 'current', children: formatOptions(currentGroup) },
{ label: 'global', children: formatOptions(globalGroup) },
diff --git a/web/apps/web/src/components/app/transition-sheet/index.tsx b/web/apps/web/src/components/app/transition-sheet/index.tsx
index 8c55f110..9a2756fa 100644
--- a/web/apps/web/src/components/app/transition-sheet/index.tsx
+++ b/web/apps/web/src/components/app/transition-sheet/index.tsx
@@ -2,9 +2,9 @@
import { useReactFlowStore, getColor } from '@shellagent/flow-engine';
import { TValues } from '@shellagent/form-engine';
-import { FormRef, Drawer } from '@shellagent/ui';
+import { Drawer } from '@shellagent/ui';
import { useInjection } from 'inversify-react';
-import { useEffect, useRef, useMemo, useCallback, memo } from 'react';
+import { useMemo, useCallback, memo } from 'react';
import {
ICondition,
@@ -45,19 +45,13 @@ const TransitionSheet: React.FC<{}> = () => {
runDrawerWidth: state.runDrawerWidth,
}));
- const formRef = useRef(null);
- const loaded = useRef(false);
-
- useEffect(() => {
- if (!loaded.current && transitionSheetOpen) {
- const transitions = edgeData2Form(edges as ICustomEdge[], sourceHandle);
- formRef.current?.reset({ transitions });
- loaded.current = true;
- }
- }, [edges, sourceHandle, transitionSheetOpen]);
+ const handleClose = useCallback(() => {
+ setTransitionSheetOpen({ open: false, source: '', sourceHandle: '' });
+ }, [setTransitionSheetOpen]);
- const handleTransitionsChange = useCallback(
- (transitions: ICondition[] = []) => {
+ const handleChange = useCallback(
+ (values: TValues) => {
+ const transitions = (values?.transitions || []) as ICondition[];
const { edgesToAdd, edgesToDelete, edgesToModify } = form2EdgeData({
edges: edges as ICustomEdge[],
values: transitions.map(transition => ({
@@ -130,22 +124,12 @@ const TransitionSheet: React.FC<{}> = () => {
}),
);
},
- [edges, onConnect, setEdges, sourceHandle, source],
- );
-
- const handleClose = useCallback(() => {
- setTransitionSheetOpen({ open: false, source: '', sourceHandle: '' });
- }, [setTransitionSheetOpen]);
-
- const handleChange = useCallback(
- (values: TValues) => {
- handleTransitionsChange(values?.transitions || []);
- },
- [handleTransitionsChange],
+ [edges, onConnect, setEdges, sourceHandle],
);
- const values = useMemo(() => {
- return edgeData2Form(edges as ICustomEdge[], sourceHandle);
+ const values = useMemo(() => {
+ const transitions = edgeData2Form(edges as ICustomEdge[], sourceHandle);
+ return { transitions };
}, [edges, sourceHandle]);
return (
@@ -167,7 +151,7 @@ const TransitionSheet: React.FC<{}> = () => {
push={false}>
();
+ edges.forEach(edge => {
+ if (edge.sourceHandle === sourceHandle) {
+ edgeMap.set(edge.target, edge);
+ }
+ });
+
values.forEach(v => {
const id = `${sourceHandle}-${v.target}`;
if (!result[id] || !result[id]?.conditions) {
@@ -53,10 +60,7 @@ export const form2EdgeData = ({
}
result[id].conditions?.push(v.condition);
- // 检查是否需要添加新边
- const existingEdge = edges.find(
- edge => edge.sourceHandle === sourceHandle && edge.target === v.target,
- );
+ const existingEdge = edgeMap.get(v.target);
if (!existingEdge) {
edgesToAdd.push(v);
} else if (JSON.stringify(existingEdge.data) !== JSON.stringify(v)) {
@@ -64,15 +68,9 @@ export const form2EdgeData = ({
}
});
- // 检查需要删除的边
- edges.forEach(edge => {
- if (edge.sourceHandle === sourceHandle) {
- const matchingNewTransition = values.find(
- nt => nt.target === edge.target,
- );
- if (!matchingNewTransition) {
- edgesToDelete.push(edge);
- }
+ edgeMap.forEach((edge, target) => {
+ if (!values.some(v => v.target === target)) {
+ edgesToDelete.push(edge);
}
});
diff --git a/web/apps/web/src/stores/app/utils/get-state-schema.ts b/web/apps/web/src/stores/app/utils/get-state-schema.ts
index 438bebf3..f5407ad7 100644
--- a/web/apps/web/src/stores/app/utils/get-state-schema.ts
+++ b/web/apps/web/src/stores/app/utils/get-state-schema.ts
@@ -15,6 +15,9 @@ export const getStateSchema = (name: string): ISchema => {
'x-title-size': 'h4',
'x-collapsible': true,
'x-component': 'TasksConfig',
+ 'x-component-props': {
+ draggable: false,
+ },
},
transition: {
type: 'object',
diff --git a/web/apps/web/src/stores/app/utils/schema.ts b/web/apps/web/src/stores/app/utils/schema.ts
index 1dce17a4..2298bf87 100644
--- a/web/apps/web/src/stores/app/utils/schema.ts
+++ b/web/apps/web/src/stores/app/utils/schema.ts
@@ -873,6 +873,9 @@ const stateConfigSchema: ISchema = {
'x-title-size': 'h4',
'x-collapsible': true,
'x-component': 'TasksConfig',
+ 'x-component-props': {
+ draggable: true,
+ },
},
output: {
type: 'object',
diff --git a/web/apps/web/src/stores/workflow/workflow-store.tsx b/web/apps/web/src/stores/workflow/workflow-store.tsx
index 0e170bd5..c52bd835 100644
--- a/web/apps/web/src/stores/workflow/workflow-store.tsx
+++ b/web/apps/web/src/stores/workflow/workflow-store.tsx
@@ -400,8 +400,8 @@ export const createWorkflowStore = () => {
}
if (type === EventStatusEnum.node_start) {
get().flowInstance?.fitView({
- minZoom: 0.5,
- maxZoom: 1,
+ minZoom: 0.3,
+ maxZoom: 1.5,
nodes: [{ id: data?.node_id as string }],
padding: 400,
});
diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml
index 6437f2f5..fef2673e 100644
--- a/web/pnpm-lock.yaml
+++ b/web/pnpm-lock.yaml
@@ -222,6 +222,12 @@ importers:
react:
specifier: ^18.3.1
version: 18.3.1
+ react-dnd:
+ specifier: ^16.0.1
+ version: 16.0.1(@types/hoist-non-react-statics@3.3.5)(@types/node@20.16.1)(@types/react@18.3.3)(react@18.3.1)
+ react-dnd-html5-backend:
+ specifier: ^16.0.1
+ version: 16.0.1
react-dom:
specifier: ^18.3.1
version: 18.3.1(react@18.3.1)
@@ -2514,67 +2520,79 @@ packages:
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-arm@1.0.5':
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-s390x@1.0.4':
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linux-x64@1.0.4':
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@img/sharp-libvips-linuxmusl-arm64@1.0.4':
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@img/sharp-libvips-linuxmusl-x64@1.0.4':
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@img/sharp-linux-arm64@0.33.5':
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-arm@0.33.5':
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-s390x@0.33.5':
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [s390x]
os: [linux]
+ libc: [glibc]
'@img/sharp-linux-x64@0.33.5':
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@img/sharp-linuxmusl-arm64@0.33.5':
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@img/sharp-linuxmusl-x64@0.33.5':
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@img/sharp-wasm32@0.33.5':
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
@@ -2779,48 +2797,56 @@ packages:
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@next/swc-linux-arm64-gnu@14.2.5':
resolution: {integrity: sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@next/swc-linux-arm64-musl@14.2.12':
resolution: {integrity: sha512-EfD9L7o9biaQxjwP1uWXnk3vYZi64NVcKUN83hpVkKocB7ogJfyH2r7o1pPnMtir6gHZiGCeHKagJ0yrNSLNHw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@next/swc-linux-arm64-musl@14.2.5':
resolution: {integrity: sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@next/swc-linux-x64-gnu@14.2.12':
resolution: {integrity: sha512-iQ+n2pxklJew9IpE47hE/VgjmljlHqtcD5UhZVeHICTPbLyrgPehaKf2wLRNjYH75udroBNCgrSSVSVpAbNoYw==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@next/swc-linux-x64-gnu@14.2.5':
resolution: {integrity: sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@next/swc-linux-x64-musl@14.2.12':
resolution: {integrity: sha512-rFkUkNwcQ0ODn7cxvcVdpHlcOpYxMeyMfkJuzaT74xjAa5v4fxP4xDk5OoYmPi8QNLDs3UgZPMSBmpBuv9zKWA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@next/swc-linux-x64-musl@14.2.5':
resolution: {integrity: sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@next/swc-win32-arm64-msvc@14.2.12':
resolution: {integrity: sha512-PQFYUvwtHs/u0K85SG4sAdDXYIPXpETf9mcEjWc0R4JmjgMKSDwIU/qfZdavtP6MPNiMjuKGXHCtyhR/M5zo8g==}
@@ -4004,24 +4030,28 @@ packages:
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
+ libc: [glibc]
'@swc/core-linux-arm64-musl@1.7.12':
resolution: {integrity: sha512-WKtanqasnJ9cBD1tMsmOzZzxJ0Hg2sfJC7UNs2Z4meNPBK4xwOrhpSq8Q9GE4xgoLeSEhU3MmQnbfJKRq3mAZQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
+ libc: [musl]
'@swc/core-linux-x64-gnu@1.7.12':
resolution: {integrity: sha512-NQ0bb9eCIp2z2WdRyELzfWc1LDJJ99OYdxT+CIwW9ixPVgAerOv0Oc+BkdijLw5VeYMGlK6JEI4HdLvQE34f1g==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
+ libc: [glibc]
'@swc/core-linux-x64-musl@1.7.12':
resolution: {integrity: sha512-D8Tegag3/045wvGiq3NFNbKVDnkocNcl5hdKQtEvZ3b1u3nHGu+xqmPteUh4Ps+GB/gbpB3o/eYNO5JPm0R66Q==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
+ libc: [musl]
'@swc/core-win32-arm64-msvc@1.7.12':
resolution: {integrity: sha512-x8DWG4fCkwI6CmC8U1YMxVTab9Fe4DmCCX6dLrTqqpFPXlVwgdKA9PNBSXsUUtHjvqAB/9cGgmpmNHuNJRa1dA==}
@@ -14855,7 +14885,7 @@ snapshots:
node-plop: 0.26.3
picocolors: 1.0.1
proxy-agent: 6.4.0
- ts-node: 10.9.2(@swc/core@1.7.12(@swc/helpers@0.5.5))(@types/node@20.16.1)(typescript@5.3.3)
+ ts-node: 10.9.2(@swc/core@1.7.12)(@types/node@20.16.1)(typescript@5.3.3)
update-check: 1.5.4
validate-npm-package-name: 5.0.1
transitivePeerDependencies:
@@ -17411,7 +17441,7 @@ snapshots:
'@typescript-eslint/parser': 6.21.0(eslint@8.37.0)(typescript@5.3.3)
eslint: 8.37.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.37.0)
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint@8.37.0))(eslint@8.37.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.37.0)
eslint-plugin-jsx-a11y: 6.9.0(eslint@8.37.0)
eslint-plugin-react: 7.35.0(eslint@8.37.0)
@@ -17447,12 +17477,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.37.0):
+ eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint@8.37.0))(eslint@8.37.0):
dependencies:
debug: 4.3.6
enhanced-resolve: 5.17.1
eslint: 8.37.0
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.37.0))(eslint@8.37.0)
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint@8.37.0))(eslint@8.37.0))(eslint@8.37.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.37.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.6
@@ -17481,14 +17511,14 @@ snapshots:
- eslint-import-resolver-webpack
- supports-color
- eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.37.0))(eslint@8.37.0):
+ eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint@8.37.0))(eslint@8.37.0))(eslint@8.37.0):
dependencies:
debug: 3.2.7
optionalDependencies:
'@typescript-eslint/parser': 6.21.0(eslint@8.37.0)(typescript@5.3.3)
eslint: 8.37.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.37.0)
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint@8.37.0))(eslint@8.37.0)
transitivePeerDependencies:
- supports-color
@@ -17519,7 +17549,7 @@ snapshots:
doctrine: 2.1.0
eslint: 8.37.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.37.0))(eslint@8.37.0)
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0(eslint@8.37.0)(typescript@5.3.3))(eslint@8.37.0))(eslint@8.37.0))(eslint@8.37.0)
hasown: 2.0.2
is-core-module: 2.15.0
is-glob: 4.0.3
@@ -19002,7 +19032,7 @@ snapshots:
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 20.16.1
- ts-node: 10.9.2(@swc/core@1.7.12(@swc/helpers@0.5.5))(@types/node@20.16.1)(typescript@5.3.3)
+ ts-node: 10.9.2(@swc/core@1.7.12)(@types/node@20.16.1)(typescript@5.3.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -20644,7 +20674,7 @@ snapshots:
yaml: 2.5.0
optionalDependencies:
postcss: 8.4.41
- ts-node: 10.9.2(@swc/core@1.7.12(@swc/helpers@0.5.5))(@types/node@20.16.1)(typescript@5.3.3)
+ ts-node: 10.9.2(@swc/core@1.7.12)(@types/node@20.16.1)(typescript@5.3.3)
postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@swc/core@1.7.12)(@types/node@20.16.1)(typescript@5.3.3)):
dependencies:
@@ -20652,7 +20682,7 @@ snapshots:
yaml: 2.5.0
optionalDependencies:
postcss: 8.4.41
- ts-node: 10.9.2(@swc/core@1.7.12(@swc/helpers@0.5.5))(@types/node@20.16.1)(typescript@5.3.3)
+ ts-node: 10.9.2(@swc/core@1.7.12)(@types/node@20.16.1)(typescript@5.3.3)
postcss-load-config@4.0.2(postcss@8.4.41)(ts-node@10.9.2(@swc/core@1.7.12)(@types/node@22.4.1)(typescript@5.3.3)):
dependencies:
@@ -21233,6 +21263,19 @@ snapshots:
dependencies:
dnd-core: 16.0.1
+ react-dnd@16.0.1(@types/hoist-non-react-statics@3.3.5)(@types/node@20.16.1)(@types/react@18.3.3)(react@18.3.1):
+ dependencies:
+ '@react-dnd/invariant': 4.0.2
+ '@react-dnd/shallowequal': 4.0.2
+ dnd-core: 16.0.1
+ fast-deep-equal: 3.1.3
+ hoist-non-react-statics: 3.3.2
+ react: 18.3.1
+ optionalDependencies:
+ '@types/hoist-non-react-statics': 3.3.5
+ '@types/node': 20.16.1
+ '@types/react': 18.3.3
+
react-dnd@16.0.1(@types/hoist-non-react-statics@3.3.5)(@types/node@22.4.1)(@types/react@18.3.3)(react@18.3.1):
dependencies:
'@react-dnd/invariant': 4.0.2
@@ -22570,41 +22613,41 @@ snapshots:
ts-interface-checker@0.1.13: {}
- ts-node@10.9.2(@swc/core@1.7.12(@swc/helpers@0.5.5))(@types/node@20.16.1)(typescript@5.3.3):
+ ts-node@10.9.2(@swc/core@1.7.12)(@types/node@16.18.105)(typescript@5.1.6):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 20.16.1
+ '@types/node': 16.18.105
acorn: 8.12.1
acorn-walk: 8.3.3
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
- typescript: 5.3.3
+ typescript: 5.1.6
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
'@swc/core': 1.7.12(@swc/helpers@0.5.5)
- ts-node@10.9.2(@swc/core@1.7.12)(@types/node@16.18.105)(typescript@5.1.6):
+ ts-node@10.9.2(@swc/core@1.7.12)(@types/node@20.16.1)(typescript@5.3.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 16.18.105
+ '@types/node': 20.16.1
acorn: 8.12.1
acorn-walk: 8.3.3
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
- typescript: 5.1.6
+ typescript: 5.3.3
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies: