@webiny/app-file-manager 6.2.0 → 6.3.0-beta.1

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.
Files changed (43) hide show
  1. package/app.js +6 -0
  2. package/app.js.map +1 -1
  3. package/components/fields/Description.d.ts +2 -0
  4. package/components/fields/Description.js +25 -0
  5. package/components/fields/Description.js.map +1 -0
  6. package/components/fields/index.d.ts +1 -0
  7. package/components/fields/index.js +1 -0
  8. package/components/fields/index.js.map +1 -1
  9. package/features/getFile/GetFileGateway.d.ts +12 -0
  10. package/features/getFile/GetFileGateway.js +24 -0
  11. package/features/getFile/GetFileGateway.js.map +1 -0
  12. package/features/getFile/GetFileRepository.d.ts +11 -0
  13. package/features/getFile/GetFileRepository.js +15 -0
  14. package/features/getFile/GetFileRepository.js.map +1 -0
  15. package/features/getFile/GetFileUseCase.d.ts +10 -0
  16. package/features/getFile/GetFileUseCase.js +32 -0
  17. package/features/getFile/GetFileUseCase.js.map +1 -0
  18. package/features/getFile/abstractions.d.ts +38 -0
  19. package/features/getFile/abstractions.js +15 -0
  20. package/features/getFile/abstractions.js.map +1 -0
  21. package/features/getFile/feature.d.ts +3 -0
  22. package/features/getFile/feature.js +20 -0
  23. package/features/getFile/feature.js.map +1 -0
  24. package/features/getFile/index.d.ts +3 -0
  25. package/features/getFile/index.js +4 -0
  26. package/features/getFile/index.js.map +1 -0
  27. package/features/permissions/feature.d.ts +1 -1
  28. package/features/shared/FILE_FIELDS.d.ts +1 -0
  29. package/features/shared/FILE_FIELDS.js +3 -0
  30. package/features/shared/FILE_FIELDS.js.map +1 -0
  31. package/features/shared/types.d.ts +16 -0
  32. package/features/shared/types.js +3 -0
  33. package/features/shared/types.js.map +1 -0
  34. package/modules/FileManagerRenderer/FileManagerView/index.js.map +1 -1
  35. package/modules/FileManagerRenderer/index.js +4 -1
  36. package/modules/FileManagerRenderer/index.js.map +1 -1
  37. package/package.json +21 -19
  38. package/presentation/resolveImageTool/ResolveImageTool.d.ts +40 -0
  39. package/presentation/resolveImageTool/ResolveImageTool.js +48 -0
  40. package/presentation/resolveImageTool/ResolveImageTool.js.map +1 -0
  41. package/presentation/resolveImageTool/feature.d.ts +1 -0
  42. package/presentation/resolveImageTool/feature.js +10 -0
  43. package/presentation/resolveImageTool/feature.js.map +1 -0
package/app.js CHANGED
@@ -7,9 +7,15 @@ import { HeadlessCmsModule } from "./modules/HeadlessCms/index.js";
7
7
  import { EnterpriseModule } from "./modules/Enterprise/index.js";
8
8
  import { SecurityPermissions } from "./modules/SecurityPermissions.js";
9
9
  import { FmPermissionsFeature } from "./features/permissions/feature.js";
10
+ import { GetFileFeature } from "./features/getFile/feature.js";
11
+ import { ResolveImageToolFeature } from "./presentation/resolveImageTool/feature.js";
10
12
  export const FileManager = () => {
11
13
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
12
14
  feature: FmPermissionsFeature
15
+ }), /*#__PURE__*/React.createElement(RegisterFeature, {
16
+ feature: GetFileFeature
17
+ }), /*#__PURE__*/React.createElement(RegisterFeature, {
18
+ feature: ResolveImageToolFeature
13
19
  }), /*#__PURE__*/React.createElement(SettingsModule, null), /*#__PURE__*/React.createElement(FileManagerApiProviderModule, null), /*#__PURE__*/React.createElement(FileManagerRendererModule, null), /*#__PURE__*/React.createElement(HeadlessCmsModule, null), /*#__PURE__*/React.createElement(EnterpriseModule, null), /*#__PURE__*/React.createElement(SecurityPermissions, null));
14
20
  };
15
21
 
package/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","RegisterFeature","SettingsModule","FileManagerApiProviderModule","FileManagerRendererModule","HeadlessCmsModule","EnterpriseModule","SecurityPermissions","FmPermissionsFeature","FileManager","createElement","Fragment","feature"],"sources":["app.tsx"],"sourcesContent":["import React from \"react\";\nimport { RegisterFeature } from \"@webiny/app-admin\";\nimport { SettingsModule } from \"~/modules/Settings/index.js\";\nimport { FileManagerApiProviderModule } from \"~/modules/FileManagerApiProvider/index.js\";\nimport { FileManagerRendererModule } from \"~/modules/FileManagerRenderer/index.js\";\nimport { HeadlessCmsModule } from \"~/modules/HeadlessCms/index.js\";\nimport { EnterpriseModule } from \"~/modules/Enterprise/index.js\";\nimport { SecurityPermissions } from \"./modules/SecurityPermissions.js\";\nimport { FmPermissionsFeature } from \"~/features/permissions/feature.js\";\n\nexport const FileManager = () => {\n return (\n <>\n <RegisterFeature feature={FmPermissionsFeature} />\n <SettingsModule />\n <FileManagerApiProviderModule />\n <FileManagerRendererModule />\n <HeadlessCmsModule />\n <EnterpriseModule />\n <SecurityPermissions />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,cAAc;AACvB,SAASC,4BAA4B;AACrC,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB;AAE7B,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,oBACIT,KAAA,CAAAU,aAAA,CAAAV,KAAA,CAAAW,QAAA,qBACIX,KAAA,CAAAU,aAAA,CAACT,eAAe;IAACW,OAAO,EAAEJ;EAAqB,CAAE,CAAC,eAClDR,KAAA,CAAAU,aAAA,CAACR,cAAc,MAAE,CAAC,eAClBF,KAAA,CAAAU,aAAA,CAACP,4BAA4B,MAAE,CAAC,eAChCH,KAAA,CAAAU,aAAA,CAACN,yBAAyB,MAAE,CAAC,eAC7BJ,KAAA,CAAAU,aAAA,CAACL,iBAAiB,MAAE,CAAC,eACrBL,KAAA,CAAAU,aAAA,CAACJ,gBAAgB,MAAE,CAAC,eACpBN,KAAA,CAAAU,aAAA,CAACH,mBAAmB,MAAE,CACxB,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","RegisterFeature","SettingsModule","FileManagerApiProviderModule","FileManagerRendererModule","HeadlessCmsModule","EnterpriseModule","SecurityPermissions","FmPermissionsFeature","GetFileFeature","ResolveImageToolFeature","FileManager","createElement","Fragment","feature"],"sources":["app.tsx"],"sourcesContent":["import React from \"react\";\nimport { RegisterFeature } from \"@webiny/app-admin\";\nimport { SettingsModule } from \"~/modules/Settings/index.js\";\nimport { FileManagerApiProviderModule } from \"~/modules/FileManagerApiProvider/index.js\";\nimport { FileManagerRendererModule } from \"~/modules/FileManagerRenderer/index.js\";\nimport { HeadlessCmsModule } from \"~/modules/HeadlessCms/index.js\";\nimport { EnterpriseModule } from \"~/modules/Enterprise/index.js\";\nimport { SecurityPermissions } from \"./modules/SecurityPermissions.js\";\nimport { FmPermissionsFeature } from \"~/features/permissions/feature.js\";\nimport { GetFileFeature } from \"~/features/getFile/feature.js\";\nimport { ResolveImageToolFeature } from \"~/presentation/resolveImageTool/feature.js\";\n\nexport const FileManager = () => {\n return (\n <>\n <RegisterFeature feature={FmPermissionsFeature} />\n <RegisterFeature feature={GetFileFeature} />\n <RegisterFeature feature={ResolveImageToolFeature} />\n <SettingsModule />\n <FileManagerApiProviderModule />\n <FileManagerRendererModule />\n <HeadlessCmsModule />\n <EnterpriseModule />\n <SecurityPermissions />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,cAAc;AACvB,SAASC,4BAA4B;AACrC,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,mBAAmB;AAC5B,SAASC,oBAAoB;AAC7B,SAASC,cAAc;AACvB,SAASC,uBAAuB;AAEhC,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,oBACIX,KAAA,CAAAY,aAAA,CAAAZ,KAAA,CAAAa,QAAA,qBACIb,KAAA,CAAAY,aAAA,CAACX,eAAe;IAACa,OAAO,EAAEN;EAAqB,CAAE,CAAC,eAClDR,KAAA,CAAAY,aAAA,CAACX,eAAe;IAACa,OAAO,EAAEL;EAAe,CAAE,CAAC,eAC5CT,KAAA,CAAAY,aAAA,CAACX,eAAe;IAACa,OAAO,EAAEJ;EAAwB,CAAE,CAAC,eACrDV,KAAA,CAAAY,aAAA,CAACV,cAAc,MAAE,CAAC,eAClBF,KAAA,CAAAY,aAAA,CAACT,4BAA4B,MAAE,CAAC,eAChCH,KAAA,CAAAY,aAAA,CAACR,yBAAyB,MAAE,CAAC,eAC7BJ,KAAA,CAAAY,aAAA,CAACP,iBAAiB,MAAE,CAAC,eACrBL,KAAA,CAAAY,aAAA,CAACN,gBAAgB,MAAE,CAAC,eACpBN,KAAA,CAAAY,aAAA,CAACL,mBAAmB,MAAE,CACxB,CAAC;AAEX,CAAC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import React from "react";
2
+ export declare const Description: () => React.JSX.Element;
@@ -0,0 +1,25 @@
1
+ import React from "react";
2
+ import { Textarea, Label } from "@webiny/admin-ui";
3
+ import { useBind } from "@webiny/form";
4
+ import { useFileOrUndefined } from "./useFileOrUndefined.js";
5
+ import { useFileManagerApi } from "../../index.js";
6
+ export const Description = () => {
7
+ const {
8
+ file
9
+ } = useFileOrUndefined();
10
+ const {
11
+ canEdit
12
+ } = useFileManagerApi();
13
+ const bind = useBind({
14
+ name: "description"
15
+ });
16
+ return /*#__PURE__*/React.createElement(Textarea, Object.assign({}, bind, {
17
+ label: /*#__PURE__*/React.createElement(Label, {
18
+ text: "Description"
19
+ }),
20
+ disabled: file ? !canEdit(file) : false,
21
+ placeholder: "Enter description"
22
+ }));
23
+ };
24
+
25
+ //# sourceMappingURL=Description.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Textarea","Label","useBind","useFileOrUndefined","useFileManagerApi","Description","file","canEdit","bind","name","createElement","Object","assign","label","text","disabled","placeholder"],"sources":["Description.tsx"],"sourcesContent":["import React from \"react\";\nimport { Textarea, Label } from \"@webiny/admin-ui\";\nimport { useBind } from \"@webiny/form\";\nimport { useFileOrUndefined } from \"./useFileOrUndefined.js\";\nimport { useFileManagerApi } from \"~/index.js\";\n\nexport const Description = () => {\n const { file } = useFileOrUndefined();\n const { canEdit } = useFileManagerApi();\n const bind = useBind({\n name: \"description\"\n });\n\n return (\n <Textarea\n {...bind}\n label={<Label text={\"Description\"} />}\n disabled={file ? !canEdit(file) : false}\n placeholder={\"Enter description\"}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,EAAEC,KAAK,QAAQ,kBAAkB;AAClD,SAASC,OAAO,QAAQ,cAAc;AACtC,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC7B,MAAM;IAAEC;EAAK,CAAC,GAAGH,kBAAkB,CAAC,CAAC;EACrC,MAAM;IAAEI;EAAQ,CAAC,GAAGH,iBAAiB,CAAC,CAAC;EACvC,MAAMI,IAAI,GAAGN,OAAO,CAAC;IACjBO,IAAI,EAAE;EACV,CAAC,CAAC;EAEF,oBACIV,KAAA,CAAAW,aAAA,CAACV,QAAQ,EAAAW,MAAA,CAAAC,MAAA,KACDJ,IAAI;IACRK,KAAK,eAAEd,KAAA,CAAAW,aAAA,CAACT,KAAK;MAACa,IAAI,EAAE;IAAc,CAAE,CAAE;IACtCC,QAAQ,EAAET,IAAI,GAAG,CAACC,OAAO,CAACD,IAAI,CAAC,GAAG,KAAM;IACxCU,WAAW,EAAE;EAAoB,EACpC,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  export * from "./AccessControl.js";
2
+ export * from "./Description.js";
2
3
  export * from "./Name.js";
3
4
  export * from "./Tags.js";
@@ -1,4 +1,5 @@
1
1
  export * from "./AccessControl.js";
2
+ export * from "./Description.js";
2
3
  export * from "./Name.js";
3
4
  export * from "./Tags.js";
4
5
 
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./AccessControl.js\";\nexport * from \"./Name.js\";\nexport * from \"./Tags.js\";\n"],"mappings":"AAAA;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["index.ts"],"sourcesContent":["export * from \"./AccessControl.js\";\nexport * from \"./Description.js\";\nexport * from \"./Name.js\";\nexport * from \"./Tags.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ import { WebinySdk } from "@webiny/app-admin/features/webinySdk/abstractions.js";
2
+ import type { FmFile } from "../shared/types.js";
3
+ import { GetFileGateway as GatewayAbstraction, type GetFileGatewayParams } from "./abstractions.js";
4
+ declare class GetFileGatewayImpl implements GatewayAbstraction.Interface {
5
+ private sdk;
6
+ constructor(sdk: WebinySdk.Interface);
7
+ execute(params: GetFileGatewayParams): Promise<FmFile>;
8
+ }
9
+ export declare const GetFileGateway: typeof GetFileGatewayImpl & {
10
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetFileGateway>;
11
+ };
12
+ export {};
@@ -0,0 +1,24 @@
1
+ import { WebinySdk } from "@webiny/app-admin/features/webinySdk/abstractions.js";
2
+ import { GetFileGateway as GatewayAbstraction } from "./abstractions.js";
3
+ import { FILE_FIELDS } from "../shared/FILE_FIELDS.js";
4
+ class GetFileGatewayImpl {
5
+ constructor(sdk) {
6
+ this.sdk = sdk;
7
+ }
8
+ async execute(params) {
9
+ const result = await this.sdk.fileManager.getFile({
10
+ id: params.id,
11
+ fields: FILE_FIELDS
12
+ });
13
+ if (result.isFail()) {
14
+ throw new Error(result.error.message);
15
+ }
16
+ return result.value;
17
+ }
18
+ }
19
+ export const GetFileGateway = GatewayAbstraction.createImplementation({
20
+ implementation: GetFileGatewayImpl,
21
+ dependencies: [WebinySdk]
22
+ });
23
+
24
+ //# sourceMappingURL=GetFileGateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WebinySdk","GetFileGateway","GatewayAbstraction","FILE_FIELDS","GetFileGatewayImpl","constructor","sdk","execute","params","result","fileManager","getFile","id","fields","isFail","Error","error","message","value","createImplementation","implementation","dependencies"],"sources":["GetFileGateway.ts"],"sourcesContent":["import { WebinySdk } from \"@webiny/app-admin/features/webinySdk/abstractions.js\";\nimport type { FmFile } from \"../shared/types.js\";\nimport { GetFileGateway as GatewayAbstraction, type GetFileGatewayParams } from \"./abstractions.js\";\nimport { FILE_FIELDS } from \"~/features/shared/FILE_FIELDS.js\";\n\nclass GetFileGatewayImpl implements GatewayAbstraction.Interface {\n constructor(private sdk: WebinySdk.Interface) {}\n\n async execute(params: GetFileGatewayParams): Promise<FmFile> {\n const result = await this.sdk.fileManager.getFile({\n id: params.id,\n fields: FILE_FIELDS\n });\n\n if (result.isFail()) {\n throw new Error(result.error.message);\n }\n\n return result.value;\n }\n}\n\nexport const GetFileGateway = GatewayAbstraction.createImplementation({\n implementation: GetFileGatewayImpl,\n dependencies: [WebinySdk]\n});\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,sDAAsD;AAEhF,SAASC,cAAc,IAAIC,kBAAkB;AAC7C,SAASC,WAAW;AAEpB,MAAMC,kBAAkB,CAAyC;EAC7DC,WAAWA,CAASC,GAAwB,EAAE;IAAA,KAA1BA,GAAwB,GAAxBA,GAAwB;EAAG;EAE/C,MAAMC,OAAOA,CAACC,MAA4B,EAAmB;IACzD,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,GAAG,CAACI,WAAW,CAACC,OAAO,CAAC;MAC9CC,EAAE,EAAEJ,MAAM,CAACI,EAAE;MACbC,MAAM,EAAEV;IACZ,CAAC,CAAC;IAEF,IAAIM,MAAM,CAACK,MAAM,CAAC,CAAC,EAAE;MACjB,MAAM,IAAIC,KAAK,CAACN,MAAM,CAACO,KAAK,CAACC,OAAO,CAAC;IACzC;IAEA,OAAOR,MAAM,CAACS,KAAK;EACvB;AACJ;AAEA,OAAO,MAAMjB,cAAc,GAAGC,kBAAkB,CAACiB,oBAAoB,CAAC;EAClEC,cAAc,EAAEhB,kBAAkB;EAClCiB,YAAY,EAAE,CAACrB,SAAS;AAC5B,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import type { FmFile } from "../shared/types.js";
2
+ import { GetFileRepository as RepositoryAbstraction, GetFileGateway, type GetFileGatewayParams } from "./abstractions.js";
3
+ declare class GetFileRepositoryImpl implements RepositoryAbstraction.Interface {
4
+ private gateway;
5
+ constructor(gateway: GetFileGateway.Interface);
6
+ execute(params: GetFileGatewayParams): Promise<FmFile>;
7
+ }
8
+ export declare const GetFileRepository: typeof GetFileRepositoryImpl & {
9
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetFileRepository>;
10
+ };
11
+ export {};
@@ -0,0 +1,15 @@
1
+ import { GetFileRepository as RepositoryAbstraction, GetFileGateway } from "./abstractions.js";
2
+ class GetFileRepositoryImpl {
3
+ constructor(gateway) {
4
+ this.gateway = gateway;
5
+ }
6
+ async execute(params) {
7
+ return this.gateway.execute(params);
8
+ }
9
+ }
10
+ export const GetFileRepository = RepositoryAbstraction.createImplementation({
11
+ implementation: GetFileRepositoryImpl,
12
+ dependencies: [GetFileGateway]
13
+ });
14
+
15
+ //# sourceMappingURL=GetFileRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetFileRepository","RepositoryAbstraction","GetFileGateway","GetFileRepositoryImpl","constructor","gateway","execute","params","createImplementation","implementation","dependencies"],"sources":["GetFileRepository.ts"],"sourcesContent":["import type { FmFile } from \"../shared/types.js\";\nimport {\n GetFileRepository as RepositoryAbstraction,\n GetFileGateway,\n type GetFileGatewayParams\n} from \"./abstractions.js\";\n\nclass GetFileRepositoryImpl implements RepositoryAbstraction.Interface {\n constructor(private gateway: GetFileGateway.Interface) {}\n\n async execute(params: GetFileGatewayParams): Promise<FmFile> {\n return this.gateway.execute(params);\n }\n}\n\nexport const GetFileRepository = RepositoryAbstraction.createImplementation({\n implementation: GetFileRepositoryImpl,\n dependencies: [GetFileGateway]\n});\n"],"mappings":"AACA,SACIA,iBAAiB,IAAIC,qBAAqB,EAC1CC,cAAc;AAIlB,MAAMC,qBAAqB,CAA4C;EACnEC,WAAWA,CAASC,OAAiC,EAAE;IAAA,KAAnCA,OAAiC,GAAjCA,OAAiC;EAAG;EAExD,MAAMC,OAAOA,CAACC,MAA4B,EAAmB;IACzD,OAAO,IAAI,CAACF,OAAO,CAACC,OAAO,CAACC,MAAM,CAAC;EACvC;AACJ;AAEA,OAAO,MAAMP,iBAAiB,GAAGC,qBAAqB,CAACO,oBAAoB,CAAC;EACxEC,cAAc,EAAEN,qBAAqB;EACrCO,YAAY,EAAE,CAACR,cAAc;AACjC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,10 @@
1
+ import { GetFileUseCase as UseCaseAbstraction, GetFileRepository, type GetFileUseCaseParams, type GetFileUseCaseResult } from "./abstractions.js";
2
+ declare class GetFileUseCaseImpl implements UseCaseAbstraction.Interface {
3
+ private repository;
4
+ constructor(repository: GetFileRepository.Interface);
5
+ execute(params: GetFileUseCaseParams): Promise<GetFileUseCaseResult>;
6
+ }
7
+ export declare const GetFileUseCase: typeof GetFileUseCaseImpl & {
8
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions.js").IGetFileUseCase>;
9
+ };
10
+ export {};
@@ -0,0 +1,32 @@
1
+ import { GetFileUseCase as UseCaseAbstraction, GetFileRepository } from "./abstractions.js";
2
+ class GetFileUseCaseImpl {
3
+ constructor(repository) {
4
+ this.repository = repository;
5
+ }
6
+ async execute(params) {
7
+ try {
8
+ const file = await this.repository.execute({
9
+ id: params.id
10
+ });
11
+ return {
12
+ success: true,
13
+ file
14
+ };
15
+ } catch (error) {
16
+ const message = error instanceof Error ? error.message : "Unknown error";
17
+ return {
18
+ success: false,
19
+ error: {
20
+ code: "GET_FILE_ERROR",
21
+ message
22
+ }
23
+ };
24
+ }
25
+ }
26
+ }
27
+ export const GetFileUseCase = UseCaseAbstraction.createImplementation({
28
+ implementation: GetFileUseCaseImpl,
29
+ dependencies: [GetFileRepository]
30
+ });
31
+
32
+ //# sourceMappingURL=GetFileUseCase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetFileUseCase","UseCaseAbstraction","GetFileRepository","GetFileUseCaseImpl","constructor","repository","execute","params","file","id","success","error","message","Error","code","createImplementation","implementation","dependencies"],"sources":["GetFileUseCase.ts"],"sourcesContent":["import {\n GetFileUseCase as UseCaseAbstraction,\n GetFileRepository,\n type GetFileUseCaseParams,\n type GetFileUseCaseResult\n} from \"./abstractions.js\";\n\nclass GetFileUseCaseImpl implements UseCaseAbstraction.Interface {\n constructor(private repository: GetFileRepository.Interface) {}\n\n async execute(params: GetFileUseCaseParams): Promise<GetFileUseCaseResult> {\n try {\n const file = await this.repository.execute({ id: params.id });\n return { success: true, file };\n } catch (error) {\n const message = error instanceof Error ? error.message : \"Unknown error\";\n return { success: false, error: { code: \"GET_FILE_ERROR\", message } };\n }\n }\n}\n\nexport const GetFileUseCase = UseCaseAbstraction.createImplementation({\n implementation: GetFileUseCaseImpl,\n dependencies: [GetFileRepository]\n});\n"],"mappings":"AAAA,SACIA,cAAc,IAAIC,kBAAkB,EACpCC,iBAAiB;AAKrB,MAAMC,kBAAkB,CAAyC;EAC7DC,WAAWA,CAASC,UAAuC,EAAE;IAAA,KAAzCA,UAAuC,GAAvCA,UAAuC;EAAG;EAE9D,MAAMC,OAAOA,CAACC,MAA4B,EAAiC;IACvE,IAAI;MACA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACH,UAAU,CAACC,OAAO,CAAC;QAAEG,EAAE,EAAEF,MAAM,CAACE;MAAG,CAAC,CAAC;MAC7D,OAAO;QAAEC,OAAO,EAAE,IAAI;QAAEF;MAAK,CAAC;IAClC,CAAC,CAAC,OAAOG,KAAK,EAAE;MACZ,MAAMC,OAAO,GAAGD,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACC,OAAO,GAAG,eAAe;MACxE,OAAO;QAAEF,OAAO,EAAE,KAAK;QAAEC,KAAK,EAAE;UAAEG,IAAI,EAAE,gBAAgB;UAAEF;QAAQ;MAAE,CAAC;IACzE;EACJ;AACJ;AAEA,OAAO,MAAMZ,cAAc,GAAGC,kBAAkB,CAACc,oBAAoB,CAAC;EAClEC,cAAc,EAAEb,kBAAkB;EAClCc,YAAY,EAAE,CAACf,iBAAiB;AACpC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ import type { FmFile } from "../shared/types.js";
2
+ export interface IGetFileGateway {
3
+ execute(params: GetFileGatewayParams): Promise<FmFile>;
4
+ }
5
+ export interface GetFileGatewayParams {
6
+ id: string;
7
+ }
8
+ export declare const GetFileGateway: import("@webiny/di").Abstraction<IGetFileGateway>;
9
+ export declare namespace GetFileGateway {
10
+ type Interface = IGetFileGateway;
11
+ }
12
+ export interface IGetFileRepository {
13
+ execute(params: GetFileGatewayParams): Promise<FmFile>;
14
+ }
15
+ export declare const GetFileRepository: import("@webiny/di").Abstraction<IGetFileRepository>;
16
+ export declare namespace GetFileRepository {
17
+ type Interface = IGetFileRepository;
18
+ }
19
+ export interface GetFileUseCaseParams {
20
+ id: string;
21
+ }
22
+ export type GetFileUseCaseResult = {
23
+ success: true;
24
+ file: FmFile;
25
+ } | {
26
+ success: false;
27
+ error: {
28
+ code: string;
29
+ message: string;
30
+ };
31
+ };
32
+ export interface IGetFileUseCase {
33
+ execute(params: GetFileUseCaseParams): Promise<GetFileUseCaseResult>;
34
+ }
35
+ export declare const GetFileUseCase: import("@webiny/di").Abstraction<IGetFileUseCase>;
36
+ export declare namespace GetFileUseCase {
37
+ type Interface = IGetFileUseCase;
38
+ }
@@ -0,0 +1,15 @@
1
+ import { createAbstraction } from "@webiny/feature/admin";
2
+
3
+ // Gateway — performs the API call via @webiny/sdk.
4
+
5
+ export const GetFileGateway = createAbstraction("GetFileGateway");
6
+
7
+ // Repository — delegates I/O to the gateway and updates the shared cache.
8
+
9
+ export const GetFileRepository = createAbstraction("GetFileRepository");
10
+
11
+ // UseCase — orchestrates a single get-file operation.
12
+
13
+ export const GetFileUseCase = createAbstraction("GetFileUseCase");
14
+
15
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createAbstraction","GetFileGateway","GetFileRepository","GetFileUseCase"],"sources":["abstractions.ts"],"sourcesContent":["import { createAbstraction } from \"@webiny/feature/admin\";\nimport type { FmFile } from \"../shared/types.js\";\n\n// Gateway — performs the API call via @webiny/sdk.\nexport interface IGetFileGateway {\n execute(params: GetFileGatewayParams): Promise<FmFile>;\n}\n\nexport interface GetFileGatewayParams {\n id: string;\n}\n\nexport const GetFileGateway = createAbstraction<IGetFileGateway>(\"GetFileGateway\");\n\nexport namespace GetFileGateway {\n export type Interface = IGetFileGateway;\n}\n\n// Repository — delegates I/O to the gateway and updates the shared cache.\nexport interface IGetFileRepository {\n execute(params: GetFileGatewayParams): Promise<FmFile>;\n}\n\nexport const GetFileRepository = createAbstraction<IGetFileRepository>(\"GetFileRepository\");\n\nexport namespace GetFileRepository {\n export type Interface = IGetFileRepository;\n}\n\n// UseCase — orchestrates a single get-file operation.\nexport interface GetFileUseCaseParams {\n id: string;\n}\n\nexport type GetFileUseCaseResult =\n | { success: true; file: FmFile }\n | { success: false; error: { code: string; message: string } };\n\nexport interface IGetFileUseCase {\n execute(params: GetFileUseCaseParams): Promise<GetFileUseCaseResult>;\n}\n\nexport const GetFileUseCase = createAbstraction<IGetFileUseCase>(\"GetFileUseCase\");\n\nexport namespace GetFileUseCase {\n export type Interface = IGetFileUseCase;\n}\n"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,uBAAuB;;AAGzD;;AASA,OAAO,MAAMC,cAAc,GAAGD,iBAAiB,CAAkB,gBAAgB,CAAC;;AAMlF;;AAKA,OAAO,MAAME,iBAAiB,GAAGF,iBAAiB,CAAqB,mBAAmB,CAAC;;AAM3F;;AAaA,OAAO,MAAMG,cAAc,GAAGH,iBAAiB,CAAkB,gBAAgB,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export declare const GetFileFeature: import("@webiny/feature/admin").FeatureDefinition<{
2
+ useCase: import("./abstractions.js").IGetFileUseCase;
3
+ }, []>;
@@ -0,0 +1,20 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { GetFileUseCase as UseCaseAbstraction } from "./abstractions.js";
3
+ import { GetFileUseCase } from "./GetFileUseCase.js";
4
+ import { GetFileRepository } from "./GetFileRepository.js";
5
+ import { GetFileGateway } from "./GetFileGateway.js";
6
+ export const GetFileFeature = createFeature({
7
+ name: "FileManager/GetFile",
8
+ register(container) {
9
+ container.register(GetFileUseCase);
10
+ container.register(GetFileRepository).inSingletonScope();
11
+ container.register(GetFileGateway).inSingletonScope();
12
+ },
13
+ resolve(container) {
14
+ return {
15
+ useCase: container.resolve(UseCaseAbstraction)
16
+ };
17
+ }
18
+ });
19
+
20
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","GetFileUseCase","UseCaseAbstraction","GetFileRepository","GetFileGateway","GetFileFeature","name","register","container","inSingletonScope","resolve","useCase"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { GetFileUseCase as UseCaseAbstraction } from \"./abstractions.js\";\nimport { GetFileUseCase } from \"./GetFileUseCase.js\";\nimport { GetFileRepository } from \"./GetFileRepository.js\";\nimport { GetFileGateway } from \"./GetFileGateway.js\";\n\nexport const GetFileFeature = createFeature({\n name: \"FileManager/GetFile\",\n register(container) {\n container.register(GetFileUseCase);\n container.register(GetFileRepository).inSingletonScope();\n container.register(GetFileGateway).inSingletonScope();\n },\n resolve(container) {\n return {\n useCase: container.resolve(UseCaseAbstraction)\n };\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,cAAc,IAAIC,kBAAkB;AAC7C,SAASD,cAAc;AACvB,SAASE,iBAAiB;AAC1B,SAASC,cAAc;AAEvB,OAAO,MAAMC,cAAc,GAAGL,aAAa,CAAC;EACxCM,IAAI,EAAE,qBAAqB;EAC3BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACN,cAAc,CAAC;IAClCO,SAAS,CAACD,QAAQ,CAACJ,iBAAiB,CAAC,CAACM,gBAAgB,CAAC,CAAC;IACxDD,SAAS,CAACD,QAAQ,CAACH,cAAc,CAAC,CAACK,gBAAgB,CAAC,CAAC;EACzD,CAAC;EACDC,OAAOA,CAACF,SAAS,EAAE;IACf,OAAO;MACHG,OAAO,EAAEH,SAAS,CAACE,OAAO,CAACR,kBAAkB;IACjD,CAAC;EACL;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export { GetFileFeature } from "./feature.js";
2
+ export { GetFileUseCase, GetFileRepository, GetFileGateway } from "./abstractions.js";
3
+ export type { IGetFileUseCase, IGetFileRepository, IGetFileGateway, GetFileUseCaseParams, GetFileUseCaseResult, GetFileGatewayParams } from "./abstractions.js";
@@ -0,0 +1,4 @@
1
+ export { GetFileFeature } from "./feature.js";
2
+ export { GetFileUseCase, GetFileRepository, GetFileGateway } from "./abstractions.js";
3
+
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["GetFileFeature","GetFileUseCase","GetFileRepository","GetFileGateway"],"sources":["index.ts"],"sourcesContent":["export { GetFileFeature } from \"./feature.js\";\nexport { GetFileUseCase, GetFileRepository, GetFileGateway } from \"./abstractions.js\";\nexport type {\n IGetFileUseCase,\n IGetFileRepository,\n IGetFileGateway,\n GetFileUseCaseParams,\n GetFileUseCaseResult,\n GetFileGatewayParams\n} from \"./abstractions.js\";\n"],"mappings":"AAAA,SAASA,cAAc;AACvB,SAASC,cAAc,EAAEC,iBAAiB,EAAEC,cAAc","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- export declare const FmPermissionsFeature: import("@webiny/feature/admin/createFeature.js").FeatureDefinition<{
1
+ export declare const FmPermissionsFeature: import("@webiny/feature/admin").FeatureDefinition<{
2
2
  permissions: {
3
3
  canAccess: (entityId: "file" | "settings") => boolean;
4
4
  canAction: (action: string, entityId: "file" | "settings") => boolean;
@@ -0,0 +1 @@
1
+ export declare const FILE_FIELDS: string[];
@@ -0,0 +1,3 @@
1
+ export const FILE_FIELDS = ["id", "name", "key", "src", "type", "size", "tags", "createdOn", "savedOn", "modifiedOn", "createdBy.id", "createdBy.displayName", "createdBy.type", "savedBy.id", "savedBy.displayName", "savedBy.type", "modifiedBy.id", "modifiedBy.displayName", "modifiedBy.type", "location.folderId", "metadata.image.width", "metadata.image.height", "metadata.image.format", "metadata.image.orientation", "metadata.exif", "metadata.iptc", "accessControl.type"];
2
+
3
+ //# sourceMappingURL=FILE_FIELDS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FILE_FIELDS"],"sources":["FILE_FIELDS.ts"],"sourcesContent":["export const FILE_FIELDS = [\n \"id\",\n \"name\",\n \"key\",\n \"src\",\n \"type\",\n \"size\",\n \"tags\",\n \"createdOn\",\n \"savedOn\",\n \"modifiedOn\",\n \"createdBy.id\",\n \"createdBy.displayName\",\n \"createdBy.type\",\n \"savedBy.id\",\n \"savedBy.displayName\",\n \"savedBy.type\",\n \"modifiedBy.id\",\n \"modifiedBy.displayName\",\n \"modifiedBy.type\",\n \"location.folderId\",\n \"metadata.image.width\",\n \"metadata.image.height\",\n \"metadata.image.format\",\n \"metadata.image.orientation\",\n \"metadata.exif\",\n \"metadata.iptc\",\n \"accessControl.type\"\n];\n"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG,CACvB,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,WAAW,EACX,SAAS,EACT,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,EACf,eAAe,EACf,oBAAoB,CACvB","ignoreList":[]}
@@ -0,0 +1,16 @@
1
+ export type { FmFile, FmIdentity, FmLocation, FmTag, FmListMeta, FmFileListWhereInput, FmFileListSorter, FmTagsListWhereInput, UploadProgress, PresignedPostPayload, PresignedPostPayloadResponse, ListFilesParams } from "@webiny/sdk";
2
+ import type { FmFile } from "@webiny/sdk";
3
+ import type { UploadProgress } from "@webiny/sdk";
4
+ export interface FmSettings {
5
+ uploadMinFileSize: string;
6
+ uploadMaxFileSize: string;
7
+ srcPrefix: string;
8
+ }
9
+ export interface UploadJob {
10
+ id: string;
11
+ fileName: string;
12
+ status: "pending" | "uploading" | "completed" | "failed";
13
+ progress: UploadProgress;
14
+ error?: string;
15
+ result?: FmFile;
16
+ }
@@ -0,0 +1,3 @@
1
+ export {};
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["// Re-export domain types from @webiny/sdk for use within app-file-manager.\nexport type {\n FmFile,\n FmIdentity,\n FmLocation,\n FmTag,\n FmListMeta,\n FmFileListWhereInput,\n FmFileListSorter,\n FmTagsListWhereInput,\n UploadProgress,\n PresignedPostPayload,\n PresignedPostPayloadResponse,\n ListFilesParams\n} from \"@webiny/sdk\";\n\nimport type { FmFile } from \"@webiny/sdk\";\nimport type { UploadProgress } from \"@webiny/sdk\";\n\n// App-specific types not defined in the SDK.\n\nexport interface FmSettings {\n uploadMinFileSize: string;\n uploadMaxFileSize: string;\n srcPrefix: string;\n}\n\nexport interface UploadJob {\n id: string;\n fileName: string;\n status: \"pending\" | \"uploading\" | \"completed\" | \"failed\";\n progress: UploadProgress;\n error?: string;\n result?: FmFile;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useState","createDecorator","DialogsProvider","FileManagerRenderer","BaseFileManagerRenderer","FoldersProvider","NavigateFolderProvider","FileManagerView","FileManagerViewProvider","FM_ACO_APP","ROOT_FOLDER","LOCAL_STORAGE_LATEST_VISITED_FOLDER","FileManagerViewWithConfig","formatFileItem","imagesAccept","createStorageKey","FileManagerProvider","children","images","accept","props","mimeTypes","folderId","setFolderId","undefined","navigateToFolder","createElement","type","Object","assign","onChange","onUploadCompletion","forwardProps","handleFileOnChange","value","context","Array","isArray","length","finalValue","map","onClose","handleFileOnUploadCompletion","files","viewProps"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { createDecorator } from \"@webiny/react-composition\";\nimport type { FileManagerFileItem, FileManagerOnChange } from \"@webiny/app-admin\";\nimport { DialogsProvider, FileManagerRenderer as BaseFileManagerRenderer } from \"@webiny/app-admin\";\nimport type { FileItem } from \"~/types.js\";\nimport { FoldersProvider } from \"@webiny/app-aco/contexts/folders.js\";\nimport { NavigateFolderProvider } from \"@webiny/app-aco\";\nimport FileManagerView from \"./FileManagerView.js\";\nimport type { FileManagerViewProviderProps } from \"~/modules/FileManagerRenderer/FileManagerViewProvider/index.js\";\nimport { FileManagerViewProvider } from \"~/modules/FileManagerRenderer/FileManagerViewProvider/index.js\";\nimport { FM_ACO_APP, ROOT_FOLDER, LOCAL_STORAGE_LATEST_VISITED_FOLDER } from \"~/constants.js\";\nimport { FileManagerViewWithConfig } from \"./FileManagerViewConfig.js\";\nimport { formatFileItem } from \"./formatFileItem.js\";\n\n/**\n * If `accept` prop is not passed, and `images` prop is set, use these default mime types.\n * Defaults can be overridden using the `createComponentPlugin` and `FileManagerRenderer` component.\n */\nconst imagesAccept = [\n \"image/jpg\",\n \"image/jpeg\",\n \"image/tiff\",\n \"image/gif\",\n \"image/png\",\n \"image/webp\",\n \"image/bmp\",\n \"image/svg+xml\"\n];\n\ninterface FileManagerProviderProps\n extends Omit<FileManagerViewProviderProps, \"accept\" | \"children\"> {\n children: React.ReactNode;\n images?: boolean;\n accept?: string[];\n}\n\nconst createStorageKey = () => {\n return LOCAL_STORAGE_LATEST_VISITED_FOLDER;\n};\n\nexport function FileManagerProvider({\n children,\n images,\n accept,\n ...props\n}: FileManagerProviderProps) {\n const mimeTypes = images ? accept || imagesAccept : accept || [];\n const [folderId, setFolderId] = useState<string | undefined>(undefined);\n\n const navigateToFolder = useCallback((folderId: string) => {\n setFolderId(folderId === ROOT_FOLDER ? undefined : folderId);\n }, []);\n\n return (\n <FoldersProvider type={FM_ACO_APP}>\n <NavigateFolderProvider\n folderId={folderId}\n navigateToFolder={navigateToFolder}\n createStorageKey={createStorageKey}\n >\n <FileManagerViewProvider {...props} accept={mimeTypes}>\n <DialogsProvider>\n <FileManagerViewWithConfig>{children}</FileManagerViewWithConfig>\n </DialogsProvider>\n </FileManagerViewProvider>\n </NavigateFolderProvider>\n </FoldersProvider>\n );\n}\n\nexport const FileManagerRenderer = createDecorator(BaseFileManagerRenderer, () => {\n return function FileManagerRenderer(props) {\n const { onChange, onUploadCompletion, ...forwardProps } = props;\n\n const handleFileOnChange: FileManagerViewProviderProps[\"onChange\"] = (\n value: FileItem[] | FileItem,\n context\n ) => {\n if (!onChange || !value || (Array.isArray(value) && !value.length)) {\n return;\n }\n\n if (Array.isArray(value)) {\n const finalValue = value.map(formatFileItem);\n (onChange as FileManagerOnChange<FileManagerFileItem[]>)(finalValue);\n context.onClose();\n return;\n }\n\n (onChange as FileManagerOnChange<FileManagerFileItem>)(formatFileItem(value));\n context.onClose();\n };\n\n const handleFileOnUploadCompletion: FileManagerViewProviderProps[\"onUploadCompletion\"] = (\n files: FileItem[],\n context\n ) => {\n if (!onUploadCompletion) {\n return;\n }\n\n onUploadCompletion(files.map(formatFileItem));\n context.onClose();\n };\n\n const viewProps: Omit<FileManagerProviderProps, \"children\"> = {\n ...forwardProps,\n onUploadCompletion: handleFileOnUploadCompletion,\n onChange: typeof onChange === \"function\" ? handleFileOnChange : undefined\n };\n\n return (\n <FileManagerProvider {...viewProps}>\n <FileManagerView />\n </FileManagerProvider>\n );\n };\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useState","createDecorator","DialogsProvider","FileManagerRenderer","BaseFileManagerRenderer","FoldersProvider","NavigateFolderProvider","FileManagerView","FileManagerViewProvider","FM_ACO_APP","ROOT_FOLDER","LOCAL_STORAGE_LATEST_VISITED_FOLDER","FileManagerViewWithConfig","formatFileItem","imagesAccept","createStorageKey","FileManagerProvider","children","images","accept","props","mimeTypes","folderId","setFolderId","undefined","navigateToFolder","createElement","type","Object","assign","onChange","onUploadCompletion","forwardProps","handleFileOnChange","value","context","Array","isArray","length","finalValue","map","onClose","handleFileOnUploadCompletion","files","viewProps"],"sources":["index.tsx"],"sourcesContent":["import React, { useCallback, useState } from \"react\";\nimport { createDecorator } from \"@webiny/react-composition\";\nimport type { FileManagerFileItem, FileManagerOnChange } from \"@webiny/app-admin\";\nimport { DialogsProvider, FileManagerRenderer as BaseFileManagerRenderer } from \"@webiny/app-admin\";\nimport type { FileItem } from \"~/types.js\";\nimport { FoldersProvider } from \"@webiny/app-aco/contexts/folders.js\";\nimport { NavigateFolderProvider } from \"@webiny/app-aco\";\nimport FileManagerView from \"./FileManagerView.js\";\nimport type { FileManagerViewProviderProps } from \"~/modules/FileManagerRenderer/FileManagerViewProvider/index.js\";\nimport { FileManagerViewProvider } from \"~/modules/FileManagerRenderer/FileManagerViewProvider/index.js\";\nimport { FM_ACO_APP, ROOT_FOLDER, LOCAL_STORAGE_LATEST_VISITED_FOLDER } from \"~/constants.js\";\nimport { FileManagerViewWithConfig } from \"./FileManagerViewConfig.js\";\nimport { formatFileItem } from \"./formatFileItem.js\";\n\n/**\n * If `accept` prop is not passed, and `images` prop is set, use these default mime types.\n * Defaults can be overridden using the `createComponentPlugin` and `FileManagerRenderer` component.\n */\nconst imagesAccept = [\n \"image/jpg\",\n \"image/jpeg\",\n \"image/tiff\",\n \"image/gif\",\n \"image/png\",\n \"image/webp\",\n \"image/bmp\",\n \"image/svg+xml\"\n];\n\ninterface FileManagerProviderProps extends Omit<\n FileManagerViewProviderProps,\n \"accept\" | \"children\"\n> {\n children: React.ReactNode;\n images?: boolean;\n accept?: string[];\n}\n\nconst createStorageKey = () => {\n return LOCAL_STORAGE_LATEST_VISITED_FOLDER;\n};\n\nexport function FileManagerProvider({\n children,\n images,\n accept,\n ...props\n}: FileManagerProviderProps) {\n const mimeTypes = images ? accept || imagesAccept : accept || [];\n const [folderId, setFolderId] = useState<string | undefined>(undefined);\n\n const navigateToFolder = useCallback((folderId: string) => {\n setFolderId(folderId === ROOT_FOLDER ? undefined : folderId);\n }, []);\n\n return (\n <FoldersProvider type={FM_ACO_APP}>\n <NavigateFolderProvider\n folderId={folderId}\n navigateToFolder={navigateToFolder}\n createStorageKey={createStorageKey}\n >\n <FileManagerViewProvider {...props} accept={mimeTypes}>\n <DialogsProvider>\n <FileManagerViewWithConfig>{children}</FileManagerViewWithConfig>\n </DialogsProvider>\n </FileManagerViewProvider>\n </NavigateFolderProvider>\n </FoldersProvider>\n );\n}\n\nexport const FileManagerRenderer = createDecorator(BaseFileManagerRenderer, () => {\n return function FileManagerRenderer(props) {\n const { onChange, onUploadCompletion, ...forwardProps } = props;\n\n const handleFileOnChange: FileManagerViewProviderProps[\"onChange\"] = (\n value: FileItem[] | FileItem,\n context\n ) => {\n if (!onChange || !value || (Array.isArray(value) && !value.length)) {\n return;\n }\n\n if (Array.isArray(value)) {\n const finalValue = value.map(formatFileItem);\n (onChange as FileManagerOnChange<FileManagerFileItem[]>)(finalValue);\n context.onClose();\n return;\n }\n\n (onChange as FileManagerOnChange<FileManagerFileItem>)(formatFileItem(value));\n context.onClose();\n };\n\n const handleFileOnUploadCompletion: FileManagerViewProviderProps[\"onUploadCompletion\"] = (\n files: FileItem[],\n context\n ) => {\n if (!onUploadCompletion) {\n return;\n }\n\n onUploadCompletion(files.map(formatFileItem));\n context.onClose();\n };\n\n const viewProps: Omit<FileManagerProviderProps, \"children\"> = {\n ...forwardProps,\n onUploadCompletion: handleFileOnUploadCompletion,\n onChange: typeof onChange === \"function\" ? handleFileOnChange : undefined\n };\n\n return (\n <FileManagerProvider {...viewProps}>\n <FileManagerView />\n </FileManagerProvider>\n );\n };\n});\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { FileManagerViewConfig as FileManagerConfig } from "../../index.js";
5
5
  import { FileManagerRenderer } from "./FileManagerView/index.js";
6
6
  import { FilterByType } from "./filters/FilterByType.js";
7
7
  import { ActionDelete, ActionEdit, ActionMove } from "../../components/BulkActions/index.js";
8
- import { Name, Tags, AccessControl } from "../../components/fields/index.js";
8
+ import { Name, Description, Tags, AccessControl } from "../../components/fields/index.js";
9
9
  import { CellActions, CellAuthor, CellCreated, CellModified, CellName, CellSize, CellType, CopyFile, DeleteFile, EditFile, MoveFile } from "../../components/Table/index.js";
10
10
  import { GridItemDefaultRenderer } from "../ThumbnailRenderers/GridItemDefaultRenderer.js";
11
11
  import { GridItemImageRenderer } from "../ThumbnailRenderers/GridItemImageRenderer.js";
@@ -97,6 +97,9 @@ export const FileManagerRendererModule = () => {
97
97
  }), /*#__PURE__*/React.createElement(FileDetails.Field, {
98
98
  name: "tags",
99
99
  element: /*#__PURE__*/React.createElement(Tags, null)
100
+ }), /*#__PURE__*/React.createElement(FileDetails.Field, {
101
+ name: "description",
102
+ element: /*#__PURE__*/React.createElement(Description, null)
100
103
  }), /*#__PURE__*/React.createElement(Browser.BulkEditField, {
101
104
  name: "tags",
102
105
  element: /*#__PURE__*/React.createElement(Tags, null)
@@ -1 +1 @@
1
- {"version":3,"names":["React","Wcp","DeleteFolder","EditFolder","SetFolderPermissions","FileManagerViewConfig","FileManagerConfig","FileManagerRenderer","FilterByType","ActionDelete","ActionEdit","ActionMove","Name","Tags","AccessControl","CellActions","CellAuthor","CellCreated","CellModified","CellName","CellSize","CellType","CopyFile","DeleteFile","EditFile","MoveFile","GridItemDefaultRenderer","GridItemImageRenderer","FileActions","FilePreviewImageRenderer","TableItemDefaultRenderer","TableItemImageRenderer","FilePreviewDefaultRenderer","Browser","FileDetails","FileManagerRendererModule","createElement","Fragment","FilterByTags","Filter","name","element","BulkAction","Folder","Action","File","Table","Column","header","cell","sortable","hideable","size","truncate","className","resizable","Field","BulkEditField","GroupFields","value","CanUsePrivateFiles","defaultValue","after","placeholder","Grid","Item","Thumbnail","type","Cell","Preview"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Wcp } from \"@webiny/app-admin\";\nimport { DeleteFolder, EditFolder, SetFolderPermissions } from \"@webiny/app-aco\";\nimport { FileManagerViewConfig as FileManagerConfig } from \"~/index.js\";\nimport { FileManagerRenderer } from \"./FileManagerView/index.js\";\nimport { FilterByType } from \"./filters/FilterByType.js\";\nimport { ActionDelete, ActionEdit, ActionMove } from \"~/components/BulkActions/index.js\";\nimport { Name, Tags, AccessControl } from \"~/components/fields/index.js\";\nimport {\n CellActions,\n CellAuthor,\n CellCreated,\n CellModified,\n CellName,\n CellSize,\n CellType,\n CopyFile,\n DeleteFile,\n EditFile,\n MoveFile\n} from \"~/components/Table/index.js\";\nimport { GridItemDefaultRenderer } from \"~/modules/ThumbnailRenderers/GridItemDefaultRenderer.js\";\nimport { GridItemImageRenderer } from \"~/modules/ThumbnailRenderers/GridItemImageRenderer.js\";\nimport { FileActions } from \"~/modules/FileManagerRenderer/FileActions/index.js\";\nimport { FilePreviewImageRenderer } from \"~/modules/ThumbnailRenderers/FilePreviewImageRenderer.js\";\nimport { TableItemDefaultRenderer } from \"~/modules/ThumbnailRenderers/TableItemDefaultRenderer.js\";\nimport { TableItemImageRenderer } from \"~/modules/ThumbnailRenderers/TableItemImageRenderer.js\";\nimport { FilePreviewDefaultRenderer } from \"~/modules/ThumbnailRenderers/FilePreviewDefaultRenderer.js\";\n\nconst { Browser, FileDetails } = FileManagerConfig;\n\nexport const FileManagerRendererModule = () => {\n return (\n <>\n <FileManagerRenderer />\n <FileManagerConfig>\n {/* Filters */}\n <Browser.FilterByTags />\n <Browser.Filter name={\"type\"} element={<FilterByType />} />\n {/* Bulk Actions */}\n <Browser.BulkAction name={\"edit\"} element={<ActionEdit />} />\n <Browser.BulkAction name={\"move\"} element={<ActionMove />} />\n <Browser.BulkAction name={\"delete\"} element={<ActionDelete />} />\n {/* Folder Actions */}\n <Browser.Folder.Action name={\"edit\"} element={<EditFolder />} />\n <Browser.Folder.Action name={\"permissions\"} element={<SetFolderPermissions />} />\n <Browser.Folder.Action name={\"delete\"} element={<DeleteFolder />} />\n {/* File Actions */}\n <Browser.File.Action name={\"copy\"} element={<CopyFile />} />\n <Browser.File.Action name={\"edit\"} element={<EditFile />} />\n <Browser.File.Action name={\"move\"} element={<MoveFile />} />\n <Browser.File.Action name={\"delete\"} element={<DeleteFile />} />\n {/* Table Columns */}\n <Browser.Table.Column\n name={\"name\"}\n header={\"Name\"}\n cell={<CellName />}\n sortable={true}\n hideable={false}\n size={200}\n />\n <Browser.Table.Column name={\"type\"} header={\"Type\"} cell={<CellType />} />\n <Browser.Table.Column\n name={\"size\"}\n header={\"Size\"}\n cell={<CellSize />}\n sortable={true}\n />\n <Browser.Table.Column name={\"createdBy\"} header={\"Author\"} cell={<CellAuthor />} />\n <Browser.Table.Column\n name={\"createdOn\"}\n header={\"Created\"}\n cell={<CellCreated />}\n sortable={true}\n />\n <Browser.Table.Column\n name={\"savedOn\"}\n header={\"Modified\"}\n cell={<CellModified />}\n sortable={true}\n />\n <Browser.Table.Column\n name={\"actions\"}\n header={\" \"}\n cell={<CellActions />}\n size={56}\n truncate={false}\n className={\"flex justify-center\"}\n hideable={false}\n resizable={false}\n />\n {/* File Details Fields */}\n <FileDetails.Field name={\"name\"} element={<Name />} />\n <FileDetails.Field name={\"tags\"} element={<Tags />} />\n <Browser.BulkEditField name={\"tags\"} element={<Tags />} />\n <FileDetails.GroupFields value={false} />\n {/* File Details Actions */}\n <FileActions />\n {/* Access Control */}\n <Wcp.CanUsePrivateFiles>\n <FileDetails.Field\n name={\"accessControl\"}\n element={<AccessControl defaultValue={\"public\"} />}\n after={\"tags\"}\n />\n <Browser.BulkEditField\n name={\"accessControl\"}\n element={<AccessControl placeholder={\"Select privacy settings\"} />}\n />\n </Wcp.CanUsePrivateFiles>\n {/* Grid Thumbnail */}\n <Browser.Grid.Item.Thumbnail type={\"*/*\"} element={<GridItemDefaultRenderer />} />\n <Browser.Grid.Item.Thumbnail type={\"image/*\"} element={<GridItemImageRenderer />} />\n {/* Table Thumbnail */}\n <Browser.Table.Cell.Thumbnail\n type={\"image/*\"}\n element={<TableItemImageRenderer />}\n />\n <Browser.Table.Cell.Thumbnail type={\"*/*\"} element={<TableItemDefaultRenderer />} />\n {/* File Details Thumbnail */}\n <FileDetails.Preview.Thumbnail\n type={\"*/*\"}\n element={<FilePreviewDefaultRenderer />}\n />\n <FileDetails.Preview.Thumbnail\n type={\"image/*\"}\n element={<FilePreviewImageRenderer />}\n />\n </FileManagerConfig>\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Wcp","DeleteFolder","EditFolder","SetFolderPermissions","FileManagerViewConfig","FileManagerConfig","FileManagerRenderer","FilterByType","ActionDelete","ActionEdit","ActionMove","Name","Description","Tags","AccessControl","CellActions","CellAuthor","CellCreated","CellModified","CellName","CellSize","CellType","CopyFile","DeleteFile","EditFile","MoveFile","GridItemDefaultRenderer","GridItemImageRenderer","FileActions","FilePreviewImageRenderer","TableItemDefaultRenderer","TableItemImageRenderer","FilePreviewDefaultRenderer","Browser","FileDetails","FileManagerRendererModule","createElement","Fragment","FilterByTags","Filter","name","element","BulkAction","Folder","Action","File","Table","Column","header","cell","sortable","hideable","size","truncate","className","resizable","Field","BulkEditField","GroupFields","value","CanUsePrivateFiles","defaultValue","after","placeholder","Grid","Item","Thumbnail","type","Cell","Preview"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Wcp } from \"@webiny/app-admin\";\nimport { DeleteFolder, EditFolder, SetFolderPermissions } from \"@webiny/app-aco\";\nimport { FileManagerViewConfig as FileManagerConfig } from \"~/index.js\";\nimport { FileManagerRenderer } from \"./FileManagerView/index.js\";\nimport { FilterByType } from \"./filters/FilterByType.js\";\nimport { ActionDelete, ActionEdit, ActionMove } from \"~/components/BulkActions/index.js\";\nimport { Name, Description, Tags, AccessControl } from \"~/components/fields/index.js\";\nimport {\n CellActions,\n CellAuthor,\n CellCreated,\n CellModified,\n CellName,\n CellSize,\n CellType,\n CopyFile,\n DeleteFile,\n EditFile,\n MoveFile\n} from \"~/components/Table/index.js\";\nimport { GridItemDefaultRenderer } from \"~/modules/ThumbnailRenderers/GridItemDefaultRenderer.js\";\nimport { GridItemImageRenderer } from \"~/modules/ThumbnailRenderers/GridItemImageRenderer.js\";\nimport { FileActions } from \"~/modules/FileManagerRenderer/FileActions/index.js\";\nimport { FilePreviewImageRenderer } from \"~/modules/ThumbnailRenderers/FilePreviewImageRenderer.js\";\nimport { TableItemDefaultRenderer } from \"~/modules/ThumbnailRenderers/TableItemDefaultRenderer.js\";\nimport { TableItemImageRenderer } from \"~/modules/ThumbnailRenderers/TableItemImageRenderer.js\";\nimport { FilePreviewDefaultRenderer } from \"~/modules/ThumbnailRenderers/FilePreviewDefaultRenderer.js\";\n\nconst { Browser, FileDetails } = FileManagerConfig;\n\nexport const FileManagerRendererModule = () => {\n return (\n <>\n <FileManagerRenderer />\n <FileManagerConfig>\n {/* Filters */}\n <Browser.FilterByTags />\n <Browser.Filter name={\"type\"} element={<FilterByType />} />\n {/* Bulk Actions */}\n <Browser.BulkAction name={\"edit\"} element={<ActionEdit />} />\n <Browser.BulkAction name={\"move\"} element={<ActionMove />} />\n <Browser.BulkAction name={\"delete\"} element={<ActionDelete />} />\n {/* Folder Actions */}\n <Browser.Folder.Action name={\"edit\"} element={<EditFolder />} />\n <Browser.Folder.Action name={\"permissions\"} element={<SetFolderPermissions />} />\n <Browser.Folder.Action name={\"delete\"} element={<DeleteFolder />} />\n {/* File Actions */}\n <Browser.File.Action name={\"copy\"} element={<CopyFile />} />\n <Browser.File.Action name={\"edit\"} element={<EditFile />} />\n <Browser.File.Action name={\"move\"} element={<MoveFile />} />\n <Browser.File.Action name={\"delete\"} element={<DeleteFile />} />\n {/* Table Columns */}\n <Browser.Table.Column\n name={\"name\"}\n header={\"Name\"}\n cell={<CellName />}\n sortable={true}\n hideable={false}\n size={200}\n />\n <Browser.Table.Column name={\"type\"} header={\"Type\"} cell={<CellType />} />\n <Browser.Table.Column\n name={\"size\"}\n header={\"Size\"}\n cell={<CellSize />}\n sortable={true}\n />\n <Browser.Table.Column name={\"createdBy\"} header={\"Author\"} cell={<CellAuthor />} />\n <Browser.Table.Column\n name={\"createdOn\"}\n header={\"Created\"}\n cell={<CellCreated />}\n sortable={true}\n />\n <Browser.Table.Column\n name={\"savedOn\"}\n header={\"Modified\"}\n cell={<CellModified />}\n sortable={true}\n />\n <Browser.Table.Column\n name={\"actions\"}\n header={\" \"}\n cell={<CellActions />}\n size={56}\n truncate={false}\n className={\"flex justify-center\"}\n hideable={false}\n resizable={false}\n />\n {/* File Details Fields */}\n <FileDetails.Field name={\"name\"} element={<Name />} />\n <FileDetails.Field name={\"tags\"} element={<Tags />} />\n <FileDetails.Field name={\"description\"} element={<Description />} />\n <Browser.BulkEditField name={\"tags\"} element={<Tags />} />\n <FileDetails.GroupFields value={false} />\n {/* File Details Actions */}\n <FileActions />\n {/* Access Control */}\n <Wcp.CanUsePrivateFiles>\n <FileDetails.Field\n name={\"accessControl\"}\n element={<AccessControl defaultValue={\"public\"} />}\n after={\"tags\"}\n />\n <Browser.BulkEditField\n name={\"accessControl\"}\n element={<AccessControl placeholder={\"Select privacy settings\"} />}\n />\n </Wcp.CanUsePrivateFiles>\n {/* Grid Thumbnail */}\n <Browser.Grid.Item.Thumbnail type={\"*/*\"} element={<GridItemDefaultRenderer />} />\n <Browser.Grid.Item.Thumbnail type={\"image/*\"} element={<GridItemImageRenderer />} />\n {/* Table Thumbnail */}\n <Browser.Table.Cell.Thumbnail\n type={\"image/*\"}\n element={<TableItemImageRenderer />}\n />\n <Browser.Table.Cell.Thumbnail type={\"*/*\"} element={<TableItemDefaultRenderer />} />\n {/* File Details Thumbnail */}\n <FileDetails.Preview.Thumbnail\n type={\"*/*\"}\n element={<FilePreviewDefaultRenderer />}\n />\n <FileDetails.Preview.Thumbnail\n type={\"image/*\"}\n element={<FilePreviewImageRenderer />}\n />\n </FileManagerConfig>\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,QAAQ,mBAAmB;AACvC,SAASC,YAAY,EAAEC,UAAU,EAAEC,oBAAoB,QAAQ,iBAAiB;AAChF,SAASC,qBAAqB,IAAIC,iBAAiB;AACnD,SAASC,mBAAmB;AAC5B,SAASC,YAAY;AACrB,SAASC,YAAY,EAAEC,UAAU,EAAEC,UAAU;AAC7C,SAASC,IAAI,EAAEC,WAAW,EAAEC,IAAI,EAAEC,aAAa;AAC/C,SACIC,WAAW,EACXC,UAAU,EACVC,WAAW,EACXC,YAAY,EACZC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRC,UAAU,EACVC,QAAQ,EACRC,QAAQ;AAEZ,SAASC,uBAAuB;AAChC,SAASC,qBAAqB;AAC9B,SAASC,WAAW;AACpB,SAASC,wBAAwB;AACjC,SAASC,wBAAwB;AACjC,SAASC,sBAAsB;AAC/B,SAASC,0BAA0B;AAEnC,MAAM;EAAEC,OAAO;EAAEC;AAAY,CAAC,GAAG7B,iBAAiB;AAElD,OAAO,MAAM8B,yBAAyB,GAAGA,CAAA,KAAM;EAC3C,oBACIpC,KAAA,CAAAqC,aAAA,CAAArC,KAAA,CAAAsC,QAAA,qBACItC,KAAA,CAAAqC,aAAA,CAAC9B,mBAAmB,MAAE,CAAC,eACvBP,KAAA,CAAAqC,aAAA,CAAC/B,iBAAiB,qBAEdN,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACK,YAAY,MAAE,CAAC,eACxBvC,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACM,MAAM;IAACC,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAAC7B,YAAY,MAAE;EAAE,CAAE,CAAC,eAE3DR,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACS,UAAU;IAACF,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAAC3B,UAAU,MAAE;EAAE,CAAE,CAAC,eAC7DV,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACS,UAAU;IAACF,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAAC1B,UAAU,MAAE;EAAE,CAAE,CAAC,eAC7DX,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACS,UAAU;IAACF,IAAI,EAAE,QAAS;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAAC5B,YAAY,MAAE;EAAE,CAAE,CAAC,eAEjET,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACU,MAAM,CAACC,MAAM;IAACJ,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAAClC,UAAU,MAAE;EAAE,CAAE,CAAC,eAChEH,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACU,MAAM,CAACC,MAAM;IAACJ,IAAI,EAAE,aAAc;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACjC,oBAAoB,MAAE;EAAE,CAAE,CAAC,eACjFJ,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACU,MAAM,CAACC,MAAM;IAACJ,IAAI,EAAE,QAAS;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACnC,YAAY,MAAE;EAAE,CAAE,CAAC,eAEpEF,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACY,IAAI,CAACD,MAAM;IAACJ,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACd,QAAQ,MAAE;EAAE,CAAE,CAAC,eAC5DvB,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACY,IAAI,CAACD,MAAM;IAACJ,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACZ,QAAQ,MAAE;EAAE,CAAE,CAAC,eAC5DzB,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACY,IAAI,CAACD,MAAM;IAACJ,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACX,QAAQ,MAAE;EAAE,CAAE,CAAC,eAC5D1B,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACY,IAAI,CAACD,MAAM;IAACJ,IAAI,EAAE,QAAS;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACb,UAAU,MAAE;EAAE,CAAE,CAAC,eAEhExB,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IACjBP,IAAI,EAAE,MAAO;IACbQ,MAAM,EAAE,MAAO;IACfC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAACjB,QAAQ,MAAE,CAAE;IACnB+B,QAAQ,EAAE,IAAK;IACfC,QAAQ,EAAE,KAAM;IAChBC,IAAI,EAAE;EAAI,CACb,CAAC,eACFrD,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IAACP,IAAI,EAAE,MAAO;IAACQ,MAAM,EAAE,MAAO;IAACC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAACf,QAAQ,MAAE;EAAE,CAAE,CAAC,eAC1EtB,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IACjBP,IAAI,EAAE,MAAO;IACbQ,MAAM,EAAE,MAAO;IACfC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAAChB,QAAQ,MAAE,CAAE;IACnB8B,QAAQ,EAAE;EAAK,CAClB,CAAC,eACFnD,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IAACP,IAAI,EAAE,WAAY;IAACQ,MAAM,EAAE,QAAS;IAACC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAACpB,UAAU,MAAE;EAAE,CAAE,CAAC,eACnFjB,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IACjBP,IAAI,EAAE,WAAY;IAClBQ,MAAM,EAAE,SAAU;IAClBC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAACnB,WAAW,MAAE,CAAE;IACtBiC,QAAQ,EAAE;EAAK,CAClB,CAAC,eACFnD,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IACjBP,IAAI,EAAE,SAAU;IAChBQ,MAAM,EAAE,UAAW;IACnBC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAAClB,YAAY,MAAE,CAAE;IACvBgC,QAAQ,EAAE;EAAK,CAClB,CAAC,eACFnD,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACC,MAAM;IACjBP,IAAI,EAAE,SAAU;IAChBQ,MAAM,EAAE,GAAI;IACZC,IAAI,eAAElD,KAAA,CAAAqC,aAAA,CAACrB,WAAW,MAAE,CAAE;IACtBqC,IAAI,EAAE,EAAG;IACTC,QAAQ,EAAE,KAAM;IAChBC,SAAS,EAAE,qBAAsB;IACjCH,QAAQ,EAAE,KAAM;IAChBI,SAAS,EAAE;EAAM,CACpB,CAAC,eAEFxD,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACsB,KAAK;IAAChB,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACzB,IAAI,MAAE;EAAE,CAAE,CAAC,eACtDZ,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACsB,KAAK;IAAChB,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACvB,IAAI,MAAE;EAAE,CAAE,CAAC,eACtDd,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACsB,KAAK;IAAChB,IAAI,EAAE,aAAc;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACxB,WAAW,MAAE;EAAE,CAAE,CAAC,eACpEb,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACwB,aAAa;IAACjB,IAAI,EAAE,MAAO;IAACC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACvB,IAAI,MAAE;EAAE,CAAE,CAAC,eAC1Dd,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACwB,WAAW;IAACC,KAAK,EAAE;EAAM,CAAE,CAAC,eAEzC5D,KAAA,CAAAqC,aAAA,CAACR,WAAW,MAAE,CAAC,eAEf7B,KAAA,CAAAqC,aAAA,CAACpC,GAAG,CAAC4D,kBAAkB,qBACnB7D,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACsB,KAAK;IACdhB,IAAI,EAAE,eAAgB;IACtBC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACtB,aAAa;MAAC+C,YAAY,EAAE;IAAS,CAAE,CAAE;IACnDC,KAAK,EAAE;EAAO,CACjB,CAAC,eACF/D,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACwB,aAAa;IAClBjB,IAAI,EAAE,eAAgB;IACtBC,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACtB,aAAa;MAACiD,WAAW,EAAE;IAA0B,CAAE;EAAE,CACtE,CACmB,CAAC,eAEzBhE,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAAC+B,IAAI,CAACC,IAAI,CAACC,SAAS;IAACC,IAAI,EAAE,KAAM;IAAC1B,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACV,uBAAuB,MAAE;EAAE,CAAE,CAAC,eAClF3B,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAAC+B,IAAI,CAACC,IAAI,CAACC,SAAS;IAACC,IAAI,EAAE,SAAU;IAAC1B,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACT,qBAAqB,MAAE;EAAE,CAAE,CAAC,eAEpF5B,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACsB,IAAI,CAACF,SAAS;IACzBC,IAAI,EAAE,SAAU;IAChB1B,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACL,sBAAsB,MAAE;EAAE,CACvC,CAAC,eACFhC,KAAA,CAAAqC,aAAA,CAACH,OAAO,CAACa,KAAK,CAACsB,IAAI,CAACF,SAAS;IAACC,IAAI,EAAE,KAAM;IAAC1B,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACN,wBAAwB,MAAE;EAAE,CAAE,CAAC,eAEpF/B,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACmC,OAAO,CAACH,SAAS;IAC1BC,IAAI,EAAE,KAAM;IACZ1B,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACJ,0BAA0B,MAAE;EAAE,CAC3C,CAAC,eACFjC,KAAA,CAAAqC,aAAA,CAACF,WAAW,CAACmC,OAAO,CAACH,SAAS;IAC1BC,IAAI,EAAE,SAAU;IAChB1B,OAAO,eAAE1C,KAAA,CAAAqC,aAAA,CAACP,wBAAwB,MAAE;EAAE,CACzC,CACc,CACrB,CAAC;AAEX,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-file-manager",
3
- "version": "6.2.0",
3
+ "version": "6.3.0-beta.1",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -14,21 +14,23 @@
14
14
  "@apollo/react-components": "3.1.5",
15
15
  "@apollo/react-hooks": "3.1.5",
16
16
  "@types/react": "18.3.28",
17
- "@webiny/admin-ui": "6.2.0",
18
- "@webiny/app": "6.2.0",
19
- "@webiny/app-aco": "6.2.0",
20
- "@webiny/app-admin": "6.2.0",
21
- "@webiny/app-headless-cms": "6.2.0",
22
- "@webiny/app-headless-cms-common": "6.2.0",
23
- "@webiny/app-websockets": "6.2.0",
24
- "@webiny/error": "6.2.0",
25
- "@webiny/form": "6.2.0",
26
- "@webiny/icons": "6.2.0",
27
- "@webiny/plugins": "6.2.0",
28
- "@webiny/react-composition": "6.2.0",
29
- "@webiny/react-properties": "6.2.0",
30
- "@webiny/utils": "6.2.0",
31
- "@webiny/validation": "6.2.0",
17
+ "@webiny/admin-ui": "6.3.0-beta.1",
18
+ "@webiny/app": "6.3.0-beta.1",
19
+ "@webiny/app-aco": "6.3.0-beta.1",
20
+ "@webiny/app-admin": "6.3.0-beta.1",
21
+ "@webiny/app-headless-cms": "6.3.0-beta.1",
22
+ "@webiny/app-headless-cms-common": "6.3.0-beta.1",
23
+ "@webiny/app-websockets": "6.3.0-beta.1",
24
+ "@webiny/error": "6.3.0-beta.1",
25
+ "@webiny/feature": "6.3.0-beta.1",
26
+ "@webiny/form": "6.3.0-beta.1",
27
+ "@webiny/icons": "6.3.0-beta.1",
28
+ "@webiny/plugins": "6.3.0-beta.1",
29
+ "@webiny/react-composition": "6.3.0-beta.1",
30
+ "@webiny/react-properties": "6.3.0-beta.1",
31
+ "@webiny/sdk": "6.3.0-beta.1",
32
+ "@webiny/utils": "6.3.0-beta.1",
33
+ "@webiny/validation": "6.3.0-beta.1",
32
34
  "apollo-cache": "1.3.5",
33
35
  "apollo-client": "2.6.10",
34
36
  "apollo-link": "1.2.14",
@@ -52,14 +54,14 @@
52
54
  },
53
55
  "devDependencies": {
54
56
  "@svgr/webpack": "8.1.0",
55
- "@webiny/build-tools": "6.2.0",
57
+ "@webiny/build-tools": "6.3.0-beta.1",
56
58
  "rimraf": "6.1.3",
57
- "typescript": "5.9.3",
59
+ "typescript": "6.0.3",
58
60
  "vitest": "4.1.4"
59
61
  },
60
62
  "publishConfig": {
61
63
  "access": "public",
62
64
  "directory": "dist"
63
65
  },
64
- "gitHead": "3d3148358b6febbc857371930871743bec3b3939"
66
+ "gitHead": "664b273a9f0a971f9ca7e6ffe920db77fefdced1"
65
67
  }
@@ -0,0 +1,40 @@
1
+ import { z } from "zod";
2
+ import { Tool } from "@webiny/app-admin/exports/admin.js";
3
+ import { GetFileUseCase } from "../../features/getFile/index.js";
4
+ declare const inputSchema: z.ZodObject<{
5
+ id: z.ZodString;
6
+ }, z.core.$strip>;
7
+ declare const outputSchema: z.ZodNullable<z.ZodObject<{
8
+ id: z.ZodString;
9
+ name: z.ZodString;
10
+ size: z.ZodNumber;
11
+ mimeType: z.ZodString;
12
+ src: z.ZodString;
13
+ width: z.ZodOptional<z.ZodNumber>;
14
+ height: z.ZodOptional<z.ZodNumber>;
15
+ }, z.core.$strip>>;
16
+ type Input = z.infer<typeof inputSchema>;
17
+ type Output = z.infer<typeof outputSchema>;
18
+ declare class ResolveImageToolImpl implements Tool.Interface<typeof inputSchema, typeof outputSchema> {
19
+ private getFile;
20
+ readonly name = "resolveImage";
21
+ readonly description = "Resolves a file manager image by ID. Returns the image metadata including src URL.";
22
+ readonly inputSchema: z.ZodObject<{
23
+ id: z.ZodString;
24
+ }, z.core.$strip>;
25
+ readonly outputSchema: z.ZodNullable<z.ZodObject<{
26
+ id: z.ZodString;
27
+ name: z.ZodString;
28
+ size: z.ZodNumber;
29
+ mimeType: z.ZodString;
30
+ src: z.ZodString;
31
+ width: z.ZodOptional<z.ZodNumber>;
32
+ height: z.ZodOptional<z.ZodNumber>;
33
+ }, z.core.$strip>>;
34
+ constructor(getFile: GetFileUseCase.Interface);
35
+ execute(input: Input): Promise<Output>;
36
+ }
37
+ export declare const ResolveImageTool: typeof ResolveImageToolImpl & {
38
+ __abstraction: import("@webiny/di").Abstraction<import("@webiny/app-admin/index").ITool<z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>, z.ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>>;
39
+ };
40
+ export {};
@@ -0,0 +1,48 @@
1
+ import { z } from "zod";
2
+ import { Tool } from "@webiny/app-admin/exports/admin.js";
3
+ import { GetFileUseCase } from "../../features/getFile/index.js";
4
+ const inputSchema = z.object({
5
+ id: z.string().describe("File ID to resolve")
6
+ });
7
+ const outputSchema = z.object({
8
+ id: z.string(),
9
+ name: z.string(),
10
+ size: z.number(),
11
+ mimeType: z.string(),
12
+ src: z.string(),
13
+ width: z.number().optional(),
14
+ height: z.number().optional()
15
+ }).nullable();
16
+ class ResolveImageToolImpl {
17
+ name = "resolveImage";
18
+ description = "Resolves a file manager image by ID. Returns the image metadata including src URL.";
19
+ inputSchema = inputSchema;
20
+ outputSchema = outputSchema;
21
+ constructor(getFile) {
22
+ this.getFile = getFile;
23
+ }
24
+ async execute(input) {
25
+ const result = await this.getFile.execute({
26
+ id: input.id
27
+ });
28
+ if (!result.success) {
29
+ return null;
30
+ }
31
+ const file = result.file;
32
+ return {
33
+ id: file.id,
34
+ name: file.name,
35
+ mimeType: file.type,
36
+ src: file.src,
37
+ size: file.size,
38
+ width: file.metadata?.image?.width,
39
+ height: file.metadata?.image?.height
40
+ };
41
+ }
42
+ }
43
+ export const ResolveImageTool = Tool.createImplementation({
44
+ implementation: ResolveImageToolImpl,
45
+ dependencies: [GetFileUseCase]
46
+ });
47
+
48
+ //# sourceMappingURL=ResolveImageTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","Tool","GetFileUseCase","inputSchema","object","id","string","describe","outputSchema","name","size","number","mimeType","src","width","optional","height","nullable","ResolveImageToolImpl","description","constructor","getFile","execute","input","result","success","file","type","metadata","image","ResolveImageTool","createImplementation","implementation","dependencies"],"sources":["ResolveImageTool.ts"],"sourcesContent":["import { z } from \"zod\";\nimport { Tool } from \"@webiny/app-admin/exports/admin.js\";\nimport { GetFileUseCase } from \"~/features/getFile/index.js\";\n\nconst inputSchema = z.object({\n id: z.string().describe(\"File ID to resolve\")\n});\n\nconst outputSchema = z\n .object({\n id: z.string(),\n name: z.string(),\n size: z.number(),\n mimeType: z.string(),\n src: z.string(),\n width: z.number().optional(),\n height: z.number().optional()\n })\n .nullable();\n\ntype Input = z.infer<typeof inputSchema>;\ntype Output = z.infer<typeof outputSchema>;\n\nclass ResolveImageToolImpl implements Tool.Interface<typeof inputSchema, typeof outputSchema> {\n readonly name = \"resolveImage\";\n readonly description =\n \"Resolves a file manager image by ID. Returns the image metadata including src URL.\";\n readonly inputSchema = inputSchema;\n readonly outputSchema = outputSchema;\n\n constructor(private getFile: GetFileUseCase.Interface) {}\n\n async execute(input: Input): Promise<Output> {\n const result = await this.getFile.execute({ id: input.id });\n\n if (!result.success) {\n return null;\n }\n\n const file = result.file;\n return {\n id: file.id,\n name: file.name,\n mimeType: file.type,\n src: file.src,\n size: file.size,\n width: file.metadata?.image?.width,\n height: file.metadata?.image?.height\n };\n }\n}\n\nexport const ResolveImageTool = Tool.createImplementation({\n implementation: ResolveImageToolImpl,\n dependencies: [GetFileUseCase]\n});\n"],"mappings":"AAAA,SAASA,CAAC,QAAQ,KAAK;AACvB,SAASC,IAAI,QAAQ,oCAAoC;AACzD,SAASC,cAAc;AAEvB,MAAMC,WAAW,GAAGH,CAAC,CAACI,MAAM,CAAC;EACzBC,EAAE,EAAEL,CAAC,CAACM,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,oBAAoB;AAChD,CAAC,CAAC;AAEF,MAAMC,YAAY,GAAGR,CAAC,CACjBI,MAAM,CAAC;EACJC,EAAE,EAAEL,CAAC,CAACM,MAAM,CAAC,CAAC;EACdG,IAAI,EAAET,CAAC,CAACM,MAAM,CAAC,CAAC;EAChBI,IAAI,EAAEV,CAAC,CAACW,MAAM,CAAC,CAAC;EAChBC,QAAQ,EAAEZ,CAAC,CAACM,MAAM,CAAC,CAAC;EACpBO,GAAG,EAAEb,CAAC,CAACM,MAAM,CAAC,CAAC;EACfQ,KAAK,EAAEd,CAAC,CAACW,MAAM,CAAC,CAAC,CAACI,QAAQ,CAAC,CAAC;EAC5BC,MAAM,EAAEhB,CAAC,CAACW,MAAM,CAAC,CAAC,CAACI,QAAQ,CAAC;AAChC,CAAC,CAAC,CACDE,QAAQ,CAAC,CAAC;AAKf,MAAMC,oBAAoB,CAAoE;EACjFT,IAAI,GAAG,cAAc;EACrBU,WAAW,GAChB,oFAAoF;EAC/EhB,WAAW,GAAGA,WAAW;EACzBK,YAAY,GAAGA,YAAY;EAEpCY,WAAWA,CAASC,OAAiC,EAAE;IAAA,KAAnCA,OAAiC,GAAjCA,OAAiC;EAAG;EAExD,MAAMC,OAAOA,CAACC,KAAY,EAAmB;IACzC,MAAMC,MAAM,GAAG,MAAM,IAAI,CAACH,OAAO,CAACC,OAAO,CAAC;MAAEjB,EAAE,EAAEkB,KAAK,CAAClB;IAAG,CAAC,CAAC;IAE3D,IAAI,CAACmB,MAAM,CAACC,OAAO,EAAE;MACjB,OAAO,IAAI;IACf;IAEA,MAAMC,IAAI,GAAGF,MAAM,CAACE,IAAI;IACxB,OAAO;MACHrB,EAAE,EAAEqB,IAAI,CAACrB,EAAE;MACXI,IAAI,EAAEiB,IAAI,CAACjB,IAAI;MACfG,QAAQ,EAAEc,IAAI,CAACC,IAAI;MACnBd,GAAG,EAAEa,IAAI,CAACb,GAAG;MACbH,IAAI,EAAEgB,IAAI,CAAChB,IAAI;MACfI,KAAK,EAAEY,IAAI,CAACE,QAAQ,EAAEC,KAAK,EAAEf,KAAK;MAClCE,MAAM,EAAEU,IAAI,CAACE,QAAQ,EAAEC,KAAK,EAAEb;IAClC,CAAC;EACL;AACJ;AAEA,OAAO,MAAMc,gBAAgB,GAAG7B,IAAI,CAAC8B,oBAAoB,CAAC;EACtDC,cAAc,EAAEd,oBAAoB;EACpCe,YAAY,EAAE,CAAC/B,cAAc;AACjC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ export declare const ResolveImageToolFeature: import("@webiny/feature/admin").FeatureDefinition<any, []>;
@@ -0,0 +1,10 @@
1
+ import { createFeature } from "@webiny/feature/admin";
2
+ import { ResolveImageTool } from "./ResolveImageTool.js";
3
+ export const ResolveImageToolFeature = createFeature({
4
+ name: "Tools/ResolveImageTool",
5
+ register(container) {
6
+ container.register(ResolveImageTool);
7
+ }
8
+ });
9
+
10
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createFeature","ResolveImageTool","ResolveImageToolFeature","name","register","container"],"sources":["feature.ts"],"sourcesContent":["import { createFeature } from \"@webiny/feature/admin\";\nimport { ResolveImageTool } from \"./ResolveImageTool.js\";\n\nexport const ResolveImageToolFeature = createFeature({\n name: \"Tools/ResolveImageTool\",\n register(container) {\n container.register(ResolveImageTool);\n }\n});\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,gBAAgB;AAEzB,OAAO,MAAMC,uBAAuB,GAAGF,aAAa,CAAC;EACjDG,IAAI,EAAE,wBAAwB;EAC9BC,QAAQA,CAACC,SAAS,EAAE;IAChBA,SAAS,CAACD,QAAQ,CAACH,gBAAgB,CAAC;EACxC;AACJ,CAAC,CAAC","ignoreList":[]}