@webiny/app-aco 6.5.0-beta.4 → 6.5.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,6 @@ export interface AdvancedSearchProps {
5
5
  repository: FilterRepository;
6
6
  onApplyFilter: (data: FilterDTO | null) => void;
7
7
  }
8
- export declare const AdvancedSearch: (({ fields, repository, onApplyFilter }: AdvancedSearchProps) => React.JSX.Element) & {
9
- displayName: string;
8
+ export declare const AdvancedSearch: (({ fields, repository, onApplyFilter }: AdvancedSearchProps) => React.JSX.Element) & React.NamedExoticComponent<AdvancedSearchProps> & {
9
+ readonly type: ({ fields, repository, onApplyFilter }: AdvancedSearchProps) => React.JSX.Element;
10
10
  };
@@ -6,7 +6,7 @@ const OperationSelector = ({ label, name })=>{
6
6
  const getValue = (value)=>value === Operation.AND;
7
7
  const setValue = (value)=>{
8
8
  if (value) return Operation.AND;
9
- return Operation.OR;
9
+ else return Operation.OR;
10
10
  };
11
11
  return /*#__PURE__*/ react.createElement(Bind, {
12
12
  name: name
@@ -1 +1 @@
1
- {"version":3,"file":"components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js","sources":["../../../../../../src/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Bind } from \"@webiny/form\";\nimport { Switch } from \"@webiny/admin-ui\";\nimport { Operation } from \"~/components/AdvancedSearch/domain/index.js\";\n\ninterface OperationSelectorProps {\n label: string;\n name: string;\n}\n\nexport const OperationSelector = ({ label, name }: OperationSelectorProps) => {\n const getValue = (value: Operation): boolean => {\n return value === Operation.AND;\n };\n\n const setValue = (value: boolean): Operation => {\n if (value) {\n return Operation.AND;\n } else {\n return Operation.OR;\n }\n };\n\n return (\n <Bind name={name}>\n {({ value, onChange }) => (\n <Switch\n label={label}\n checked={getValue(value)}\n onChange={value => onChange(setValue(value))}\n />\n )}\n </Bind>\n );\n};\n"],"names":["OperationSelector","label","name","getValue","value","Operation","setValue","Bind","onChange","Switch"],"mappings":";;;;AAWO,MAAMA,oBAAoB,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAA0B;IACrE,MAAMC,WAAW,CAACC,QACPA,UAAUC,UAAU,GAAG;IAGlC,MAAMC,WAAW,CAACF;QACd,IAAIA,OACA,OAAOC,UAAU,GAAG;QAEpB,OAAOA,UAAU,EAAE;IAE3B;IAEA,OAAO,WAAP,GACI,oBAACE,MAAIA;QAAC,MAAML;OACP,CAAC,EAAEE,KAAK,EAAEI,QAAQ,EAAE,iBACjB,oBAACC,QAAMA;YACH,OAAOR;YACP,SAASE,SAASC;YAClB,UAAUA,CAAAA,QAASI,SAASF,SAASF;;AAKzD"}
1
+ {"version":3,"file":"components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.js","sources":["../../../../../../src/components/AdvancedSearch/QueryBuilderDrawer/QueryBuilder/components/OperationSelector.tsx"],"sourcesContent":["import React from \"react\";\n\nimport { Bind } from \"@webiny/form\";\nimport { Switch } from \"@webiny/admin-ui\";\nimport { Operation } from \"~/components/AdvancedSearch/domain/index.js\";\n\ninterface OperationSelectorProps {\n label: string;\n name: string;\n}\n\nexport const OperationSelector = ({ label, name }: OperationSelectorProps) => {\n const getValue = (value: Operation): boolean => {\n return value === Operation.AND;\n };\n\n const setValue = (value: boolean): Operation => {\n if (value) {\n return Operation.AND;\n } else {\n return Operation.OR;\n }\n };\n\n return (\n <Bind name={name}>\n {({ value, onChange }) => (\n <Switch\n label={label}\n checked={getValue(value)}\n onChange={value => onChange(setValue(value))}\n />\n )}\n </Bind>\n );\n};\n"],"names":["OperationSelector","label","name","getValue","value","Operation","setValue","Bind","onChange","Switch"],"mappings":";;;;AAWO,MAAMA,oBAAoB,CAAC,EAAEC,KAAK,EAAEC,IAAI,EAA0B;IACrE,MAAMC,WAAW,CAACC,QACPA,UAAUC,UAAU,GAAG;IAGlC,MAAMC,WAAW,CAACF;QACd,IAAIA,OACA,OAAOC,UAAU,GAAG;aAEpB,OAAOA,UAAU,EAAE;IAE3B;IAEA,OAAO,WAAP,GACI,oBAACE,MAAIA;QAAC,MAAML;OACP,CAAC,EAAEE,KAAK,EAAEI,QAAQ,EAAE,iBACjB,oBAACC,QAAMA;YACH,OAAOR;YACP,SAASE,SAASC;YAClB,UAAUA,CAAAA,QAASI,SAASF,SAASF;;AAKzD"}
@@ -11,7 +11,7 @@ interface QueryBuilderDrawerProps {
11
11
  isOpen: boolean;
12
12
  };
13
13
  }
14
- export declare const QueryBuilderDrawer: (({ filter, ...props }: QueryBuilderDrawerProps) => React.JSX.Element) & {
15
- displayName: string;
14
+ export declare const QueryBuilderDrawer: (({ filter, ...props }: QueryBuilderDrawerProps) => React.JSX.Element) & React.NamedExoticComponent<QueryBuilderDrawerProps> & {
15
+ readonly type: ({ filter, ...props }: QueryBuilderDrawerProps) => React.JSX.Element;
16
16
  };
17
17
  export {};
@@ -87,7 +87,7 @@ const List = ({ folders, folderActions, onFolderClick, focusedFolderId, hiddenFo
87
87
  }
88
88
  });
89
89
  });
90
- } else await runDrop();
90
+ } else runDrop();
91
91
  }, [
92
92
  folders,
93
93
  dropConfirmation,
@@ -1 +1 @@
1
- {"version":3,"file":"components/FolderTree/List/List.js","sources":["../../../../src/components/FolderTree/List/List.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Tree,\n type NodeDto,\n type TreeProps,\n type WithDefaultNodeData,\n type DropOptions\n} from \"@webiny/admin-ui\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { useGetFolderLevelPermission } from \"~/features/folders/getFolderLevelPermission/index.js\";\nimport { useListFoldersByParentIds } from \"~/features/folders/listFoldersByParentIds/index.js\";\nimport { useGetFolderAncestors } from \"~/features/folders/getFolderAncestors/index.js\";\nimport { useUpdateFolder } from \"~/features/folders/updateFolder/index.js\";\nimport { Node } from \"../Node/index.js\";\nimport { createInitialOpenList, createTreeData } from \"./utils.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FolderProvider } from \"~/contexts/folder.js\";\nimport { useConfirmMoveFolderDialog } from \"~/dialogs/index.js\";\nimport type { FolderActionConfig } from \"~/config/AcoConfig.js\";\n\ninterface ListProps {\n folders: FolderDto[];\n folderActions: FolderActionConfig[];\n dropConfirmation?: boolean;\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: FolderDto) => void;\n}\n\nexport const List = ({\n folders,\n folderActions,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n dropConfirmation = false\n}: ListProps) => {\n const { listFoldersByParentIds, loading } = useListFoldersByParentIds();\n const { updateFolder } = useUpdateFolder();\n const { getFolderLevelPermission: canManageStructure } =\n useGetFolderLevelPermission(\"canManageStructure\");\n const { getFolderAncestors } = useGetFolderAncestors();\n const { showSnackbar } = useSnackbar();\n\n const [treeData, setTreeData] = useState<NodeDto<FolderDto>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();\n\n useEffect(() => {\n setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));\n }, [folders, focusedFolderId, hiddenFolderIds]);\n\n useEffect(() => {\n setOpenFolderIds(prev => {\n const expanded = createInitialOpenList(folders, prev, focusedFolderId);\n return [...new Set([ROOT_FOLDER, ...expanded])];\n });\n }, [focusedFolderId, folders, setOpenFolderIds]);\n\n const handleChangeOpen: TreeProps[\"onChangeOpen\"] = async nodes => {\n const folderIds = nodes.map(node => node.id);\n const updatedOpenIds = [...new Set([ROOT_FOLDER, ...folderIds])];\n setOpenFolderIds(updatedOpenIds);\n\n const fetchableIds = folderIds.filter(id => id !== ROOT_FOLDER && id !== \"0\");\n await listFoldersByParentIds(fetchableIds);\n };\n\n const handleDrop: TreeProps[\"onDrop\"] = async (_, { dragSourceId, dropTargetId }) => {\n try {\n const item = folders.find(folder => folder.id === dragSourceId);\n if (!item) {\n throw new Error(\"Folder not found!\");\n }\n\n await updateFolder({\n ...item,\n parentId: dropTargetId !== ROOT_FOLDER ? (dropTargetId as string) : null\n });\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n const onDrop = useCallback<NonNullable<TreeProps[\"onDrop\"]>>(\n async (newTree, options: DropOptions) => {\n // Function to execute the drop logic\n const runDrop = async () => handleDrop(newTree, options);\n\n // If drop confirmation is enabled, show dialog before proceeding\n if (dropConfirmation) {\n const { dragSourceId, dropTargetId } = options;\n const folder = folders.find(f => f.id === dragSourceId);\n const targetFolder = folders.find(f => f.id === dropTargetId);\n\n // Abort if either folder is not found\n if (!folder || !targetFolder) {\n throw new Error(\"Folder not found\");\n }\n\n await new Promise<void>((resolve, reject) => {\n showConfirmMoveFolderDialog({\n folder,\n targetFolder,\n onAccept: async () => {\n await runDrop();\n resolve();\n },\n onClose: () => {\n reject(new Error(\"cancelled\"));\n }\n });\n });\n } else {\n // Otherwise, perform the drop immediately\n await runDrop();\n }\n },\n [folders, dropConfirmation, showConfirmMoveFolderDialog]\n );\n\n const sort = useMemo(\n () => (a: NodeDto<any>, b: NodeDto<any>) => {\n if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) {\n return 1;\n }\n return a.label.localeCompare(b.label, undefined, { numeric: true });\n },\n []\n );\n\n const canDrag: TreeProps<FolderDto>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderDto>) => node.id !== ROOT_FOLDER && canManageStructure(node.id),\n [canManageStructure]\n );\n\n const canDrop: TreeProps<FolderDto>[\"canDrop\"] = (_, options: DropOptions<FolderDto>) => {\n const { dragSourceId, dropTargetId } = options;\n const dropTagetAncestorIds = getFolderAncestors(dropTargetId).map(item => item.id);\n\n // Prevent dropping a folder into itself or its descendants\n return !(dragSourceId && dropTagetAncestorIds.includes(dragSourceId));\n };\n\n const nodeRenderer: TreeProps<FolderDto>[\"renderer\"] = node => {\n const folder = folders.find(folder => folder.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} folderActions={folderActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderDto>) => {\n onFolderClick(node);\n },\n [onFolderClick]\n );\n\n return (\n <Tree<FolderDto>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={onDrop}\n onNodeClick={handleNodeClick}\n sort={sort}\n canDrag={canDrag}\n canDrop={canDrop}\n renderer={nodeRenderer}\n defaultLockedOpenNodeIds={[ROOT_FOLDER]}\n loadingNodeIds={loading}\n />\n );\n};\n"],"names":["List","folders","folderActions","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","dropConfirmation","listFoldersByParentIds","loading","useListFoldersByParentIds","updateFolder","useUpdateFolder","canManageStructure","useGetFolderLevelPermission","getFolderAncestors","useGetFolderAncestors","showSnackbar","useSnackbar","treeData","setTreeData","useState","openFolderIds","setOpenFolderIds","ROOT_FOLDER","showConfirmMoveFolderDialog","useConfirmMoveFolderDialog","useEffect","createTreeData","prev","expanded","createInitialOpenList","Set","handleChangeOpen","nodes","folderIds","node","updatedOpenIds","fetchableIds","id","handleDrop","_","dragSourceId","dropTargetId","item","folder","Error","error","onDrop","useCallback","newTree","options","runDrop","f","targetFolder","Promise","resolve","reject","sort","useMemo","a","b","undefined","canDrag","canDrop","dropTagetAncestorIds","nodeRenderer","FolderProvider","Node","handleNodeClick","Tree"],"mappings":"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"}
1
+ {"version":3,"file":"components/FolderTree/List/List.js","sources":["../../../../src/components/FolderTree/List/List.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n Tree,\n type NodeDto,\n type TreeProps,\n type WithDefaultNodeData,\n type DropOptions\n} from \"@webiny/admin-ui\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport type { FolderDto } from \"~/domain/folder/FolderDto.js\";\nimport { useGetFolderLevelPermission } from \"~/features/folders/getFolderLevelPermission/index.js\";\nimport { useListFoldersByParentIds } from \"~/features/folders/listFoldersByParentIds/index.js\";\nimport { useGetFolderAncestors } from \"~/features/folders/getFolderAncestors/index.js\";\nimport { useUpdateFolder } from \"~/features/folders/updateFolder/index.js\";\nimport { Node } from \"../Node/index.js\";\nimport { createInitialOpenList, createTreeData } from \"./utils.js\";\nimport { ROOT_FOLDER } from \"~/constants.js\";\nimport { FolderProvider } from \"~/contexts/folder.js\";\nimport { useConfirmMoveFolderDialog } from \"~/dialogs/index.js\";\nimport type { FolderActionConfig } from \"~/config/AcoConfig.js\";\n\ninterface ListProps {\n folders: FolderDto[];\n folderActions: FolderActionConfig[];\n dropConfirmation?: boolean;\n focusedFolderId?: string;\n hiddenFolderIds?: string[];\n enableActions?: boolean;\n onFolderClick: (data: FolderDto) => void;\n}\n\nexport const List = ({\n folders,\n folderActions,\n onFolderClick,\n focusedFolderId,\n hiddenFolderIds,\n enableActions,\n dropConfirmation = false\n}: ListProps) => {\n const { listFoldersByParentIds, loading } = useListFoldersByParentIds();\n const { updateFolder } = useUpdateFolder();\n const { getFolderLevelPermission: canManageStructure } =\n useGetFolderLevelPermission(\"canManageStructure\");\n const { getFolderAncestors } = useGetFolderAncestors();\n const { showSnackbar } = useSnackbar();\n\n const [treeData, setTreeData] = useState<NodeDto<FolderDto>[]>([]);\n const [openFolderIds, setOpenFolderIds] = useState<string[]>([ROOT_FOLDER]);\n const { showDialog: showConfirmMoveFolderDialog } = useConfirmMoveFolderDialog();\n\n useEffect(() => {\n setTreeData(createTreeData(folders, focusedFolderId, hiddenFolderIds));\n }, [folders, focusedFolderId, hiddenFolderIds]);\n\n useEffect(() => {\n setOpenFolderIds(prev => {\n const expanded = createInitialOpenList(folders, prev, focusedFolderId);\n return [...new Set([ROOT_FOLDER, ...expanded])];\n });\n }, [focusedFolderId, folders, setOpenFolderIds]);\n\n const handleChangeOpen: TreeProps[\"onChangeOpen\"] = async nodes => {\n const folderIds = nodes.map(node => node.id);\n const updatedOpenIds = [...new Set([ROOT_FOLDER, ...folderIds])];\n setOpenFolderIds(updatedOpenIds);\n\n const fetchableIds = folderIds.filter(id => id !== ROOT_FOLDER && id !== \"0\");\n await listFoldersByParentIds(fetchableIds);\n };\n\n const handleDrop: TreeProps[\"onDrop\"] = async (_, { dragSourceId, dropTargetId }) => {\n try {\n const item = folders.find(folder => folder.id === dragSourceId);\n if (!item) {\n throw new Error(\"Folder not found!\");\n }\n\n await updateFolder({\n ...item,\n parentId: dropTargetId !== ROOT_FOLDER ? (dropTargetId as string) : null\n });\n } catch (error) {\n showSnackbar(error.message);\n }\n };\n\n const onDrop = useCallback<NonNullable<TreeProps[\"onDrop\"]>>(\n async (newTree, options: DropOptions) => {\n // Function to execute the drop logic\n const runDrop = async () => handleDrop(newTree, options);\n\n // If drop confirmation is enabled, show dialog before proceeding\n if (dropConfirmation) {\n const { dragSourceId, dropTargetId } = options;\n const folder = folders.find(f => f.id === dragSourceId);\n const targetFolder = folders.find(f => f.id === dropTargetId);\n\n // Abort if either folder is not found\n if (!folder || !targetFolder) {\n throw new Error(\"Folder not found\");\n }\n\n await new Promise<void>((resolve, reject) => {\n showConfirmMoveFolderDialog({\n folder,\n targetFolder,\n onAccept: async () => {\n await runDrop();\n resolve();\n },\n onClose: () => {\n reject(new Error(\"cancelled\"));\n }\n });\n });\n } else {\n // Fire API call without awaiting — optimistic UI\n runDrop();\n }\n },\n [folders, dropConfirmation, showConfirmMoveFolderDialog]\n );\n\n const sort = useMemo(\n () => (a: NodeDto<any>, b: NodeDto<any>) => {\n if (a.id === ROOT_FOLDER || b.id === ROOT_FOLDER) {\n return 1;\n }\n return a.label.localeCompare(b.label, undefined, { numeric: true });\n },\n []\n );\n\n const canDrag: TreeProps<FolderDto>[\"canDrag\"] = useCallback(\n (node: NodeDto<FolderDto>) => node.id !== ROOT_FOLDER && canManageStructure(node.id),\n [canManageStructure]\n );\n\n const canDrop: TreeProps<FolderDto>[\"canDrop\"] = (_, options: DropOptions<FolderDto>) => {\n const { dragSourceId, dropTargetId } = options;\n const dropTagetAncestorIds = getFolderAncestors(dropTargetId).map(item => item.id);\n\n // Prevent dropping a folder into itself or its descendants\n return !(dragSourceId && dropTagetAncestorIds.includes(dragSourceId));\n };\n\n const nodeRenderer: TreeProps<FolderDto>[\"renderer\"] = node => {\n const folder = folders.find(folder => folder.id === node.id);\n return (\n <FolderProvider folder={folder}>\n <Node enableActions={enableActions} folderActions={folderActions} />\n </FolderProvider>\n );\n };\n\n const handleNodeClick = useCallback(\n (node: WithDefaultNodeData<FolderDto>) => {\n onFolderClick(node);\n },\n [onFolderClick]\n );\n\n return (\n <Tree<FolderDto>\n nodes={treeData}\n rootId={\"0\"}\n defaultOpenNodeIds={openFolderIds}\n onChangeOpen={handleChangeOpen}\n onDrop={onDrop}\n onNodeClick={handleNodeClick}\n sort={sort}\n canDrag={canDrag}\n canDrop={canDrop}\n renderer={nodeRenderer}\n defaultLockedOpenNodeIds={[ROOT_FOLDER]}\n loadingNodeIds={loading}\n />\n );\n};\n"],"names":["List","folders","folderActions","onFolderClick","focusedFolderId","hiddenFolderIds","enableActions","dropConfirmation","listFoldersByParentIds","loading","useListFoldersByParentIds","updateFolder","useUpdateFolder","canManageStructure","useGetFolderLevelPermission","getFolderAncestors","useGetFolderAncestors","showSnackbar","useSnackbar","treeData","setTreeData","useState","openFolderIds","setOpenFolderIds","ROOT_FOLDER","showConfirmMoveFolderDialog","useConfirmMoveFolderDialog","useEffect","createTreeData","prev","expanded","createInitialOpenList","Set","handleChangeOpen","nodes","folderIds","node","updatedOpenIds","fetchableIds","id","handleDrop","_","dragSourceId","dropTargetId","item","folder","Error","error","onDrop","useCallback","newTree","options","runDrop","f","targetFolder","Promise","resolve","reject","sort","useMemo","a","b","undefined","canDrag","canDrop","dropTagetAncestorIds","nodeRenderer","FolderProvider","Node","handleNodeClick","Tree"],"mappings":"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"}
@@ -19,6 +19,6 @@ export interface TableInnerProps<T extends TableRow> {
19
19
  sorting: DataTableSorting;
20
20
  tablePresenter: TablePresenter;
21
21
  }
22
- export declare const TableInner: (<T extends TableRow>(props: TableInnerProps<T>) => React.JSX.Element) & {
23
- displayName: string;
22
+ export declare const TableInner: (<T extends TableRow>(props: TableInnerProps<T>) => React.JSX.Element) & React.NamedExoticComponent<TableInnerProps<TableRow<unknown>>> & {
23
+ readonly type: <T extends TableRow>(props: TableInnerProps<T>) => React.JSX.Element;
24
24
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-aco",
3
- "version": "6.5.0-beta.4",
3
+ "version": "6.5.0-beta.6",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -15,34 +15,34 @@
15
15
  "author": "Webiny Ltd.",
16
16
  "license": "MIT",
17
17
  "dependencies": {
18
- "@webiny/admin-ui": "6.5.0-beta.4",
19
- "@webiny/app": "6.5.0-beta.4",
20
- "@webiny/app-admin": "6.5.0-beta.4",
21
- "@webiny/app-headless-cms-common": "6.5.0-beta.4",
22
- "@webiny/app-utils": "6.5.0-beta.4",
23
- "@webiny/feature": "6.5.0-beta.4",
24
- "@webiny/form": "6.5.0-beta.4",
25
- "@webiny/icons": "6.5.0-beta.4",
26
- "@webiny/react-properties": "6.5.0-beta.4",
27
- "@webiny/shared-aco": "6.5.0-beta.4",
28
- "@webiny/utils": "6.5.0-beta.4",
29
- "@webiny/validation": "6.5.0-beta.4",
18
+ "@webiny/admin-ui": "6.5.0-beta.6",
19
+ "@webiny/app": "6.5.0-beta.6",
20
+ "@webiny/app-admin": "6.5.0-beta.6",
21
+ "@webiny/app-headless-cms-common": "6.5.0-beta.6",
22
+ "@webiny/app-utils": "6.5.0-beta.6",
23
+ "@webiny/feature": "6.5.0-beta.6",
24
+ "@webiny/form": "6.5.0-beta.6",
25
+ "@webiny/icons": "6.5.0-beta.6",
26
+ "@webiny/react-properties": "6.5.0-beta.6",
27
+ "@webiny/shared-aco": "6.5.0-beta.6",
28
+ "@webiny/utils": "6.5.0-beta.6",
29
+ "@webiny/validation": "6.5.0-beta.6",
30
30
  "lodash": "4.18.1",
31
- "mobx": "6.16.1",
32
- "mobx-react-lite": "4.1.1",
31
+ "mobx": "7.0.5",
32
+ "mobx-react-lite": "5.1.0",
33
33
  "react": "18.3.1",
34
34
  "react-dom": "18.3.1",
35
35
  "slugify": "1.6.9",
36
- "zod": "4.4.3"
36
+ "zod": "4.6.5"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@types/react": "18.3.31",
40
- "@webiny/build-tools": "6.5.0-beta.4",
41
- "@webiny/di": "1.0.2",
42
- "@webiny/wcp": "6.5.0-beta.4",
40
+ "@webiny/build-tools": "6.5.0-beta.6",
41
+ "@webiny/di": "1.1.0",
42
+ "@webiny/wcp": "6.5.0-beta.6",
43
43
  "rimraf": "6.1.3",
44
44
  "typescript": "7.0.2",
45
- "vitest": "4.1.10"
45
+ "vitest": "5.0.2"
46
46
  },
47
47
  "publishConfig": {
48
48
  "access": "public"