@webiny/app-admin 5.35.0 → 5.35.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.
- package/package.json +28 -28
- package/assets/images/icons.png +0 -0
- package/assets/images/icons_retina.png +0 -0
- package/assets/images/swich.png +0 -0
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +0 -55
- package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +0 -1
- package/components/FileManager/BottomInfoBar/UploadStatus.d.ts +0 -6
- package/components/FileManager/BottomInfoBar/UploadStatus.js +0 -60
- package/components/FileManager/BottomInfoBar/UploadStatus.js.map +0 -1
- package/components/FileManager/BottomInfoBar.d.ts +0 -5
- package/components/FileManager/BottomInfoBar.js +0 -60
- package/components/FileManager/BottomInfoBar.js.map +0 -1
- package/components/FileManager/DropFilesHere.d.ts +0 -10
- package/components/FileManager/DropFilesHere.js +0 -76
- package/components/FileManager/DropFilesHere.js.map +0 -1
- package/components/FileManager/File.d.ts +0 -17
- package/components/FileManager/File.js +0 -155
- package/components/FileManager/File.js.map +0 -1
- package/components/FileManager/FileDetails/Name.d.ts +0 -8
- package/components/FileManager/FileDetails/Name.js +0 -138
- package/components/FileManager/FileDetails/Name.js.map +0 -1
- package/components/FileManager/FileDetails/Tags.d.ts +0 -10
- package/components/FileManager/FileDetails/Tags.js +0 -339
- package/components/FileManager/FileDetails/Tags.js.map +0 -1
- package/components/FileManager/FileDetails.d.ts +0 -24
- package/components/FileManager/FileDetails.js +0 -474
- package/components/FileManager/FileDetails.js.map +0 -1
- package/components/FileManager/FileManagerContext.d.ts +0 -42
- package/components/FileManager/FileManagerContext.js +0 -224
- package/components/FileManager/FileManagerContext.js.map +0 -1
- package/components/FileManager/FileManagerView.d.ts +0 -18
- package/components/FileManager/FileManagerView.js +0 -721
- package/components/FileManager/FileManagerView.js.map +0 -1
- package/components/FileManager/LeftSidebar.d.ts +0 -10
- package/components/FileManager/LeftSidebar.js +0 -127
- package/components/FileManager/LeftSidebar.js.map +0 -1
- package/components/FileManager/NoPermissionView.d.ts +0 -3
- package/components/FileManager/NoPermissionView.js +0 -87
- package/components/FileManager/NoPermissionView.js.map +0 -1
- package/components/FileManager/NoResults.d.ts +0 -3
- package/components/FileManager/NoResults.js +0 -28
- package/components/FileManager/NoResults.js.map +0 -1
- package/components/FileManager/getFileTypePlugin.d.ts +0 -4
- package/components/FileManager/getFileTypePlugin.js +0 -57
- package/components/FileManager/getFileTypePlugin.js.map +0 -1
- package/components/FileManager/getFileUploader.d.ts +0 -3
- package/components/FileManager/getFileUploader.js +0 -20
- package/components/FileManager/getFileUploader.js.map +0 -1
- package/components/FileManager/graphql.d.ts +0 -96
- package/components/FileManager/graphql.js +0 -58
- package/components/FileManager/graphql.js.map +0 -1
- package/components/FileManager/icons/content_copy-black-24px.svg +0 -1
- package/components/FileManager/icons/delete.svg +0 -12
- package/components/FileManager/icons/privacy_tip-24px.svg +0 -10
- package/components/FileManager/icons/round-check_box-24px.svg +0 -4
- package/components/FileManager/icons/round-check_box_outline_blank-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_download-24px.svg +0 -4
- package/components/FileManager/icons/round-cloud_upload-24px.svg +0 -4
- package/components/FileManager/icons/round-description-24px.svg +0 -4
- package/components/FileManager/icons/round-edit-24px.svg +0 -4
- package/components/FileManager/icons/round-info-24px.svg +0 -4
- package/components/FileManager/icons/round-label-24px.svg +0 -4
- package/components/FileManager/icons/round-more_vert-24px.svg +0 -4
- package/components/FileManager/icons/round-search-24px.svg +0 -20
- package/components/FileManager/outputFileSelectionError.d.ts +0 -7
- package/components/FileManager/outputFileSelectionError.js +0 -54
- package/components/FileManager/outputFileSelectionError.js.map +0 -1
- package/components/FileManager/types.d.ts +0 -21
- package/components/FileManager/types.js +0 -5
- package/components/FileManager/types.js.map +0 -1
- package/components/FileManager.d.ts +0 -67
- package/components/FileManager.js +0 -144
- package/components/FileManager.js.map +0 -1
- package/plugins/FileManagerFileTypePlugin.d.ts +0 -33
- package/plugins/FileManagerFileTypePlugin.js +0 -63
- package/plugins/FileManagerFileTypePlugin.js.map +0 -1
- package/plugins/fileManager/fileDefault.d.ts +0 -2
- package/plugins/fileManager/fileDefault.js +0 -34
- package/plugins/fileManager/fileDefault.js.map +0 -1
- package/plugins/fileManager/fileImage/DeleteAction.d.ts +0 -7
- package/plugins/fileManager/fileImage/DeleteAction.js +0 -83
- package/plugins/fileManager/fileImage/DeleteAction.js.map +0 -1
- package/plugins/fileManager/fileImage/EditAction.d.ts +0 -10
- package/plugins/fileManager/fileImage/EditAction.js +0 -179
- package/plugins/fileManager/fileImage/EditAction.js.map +0 -1
- package/plugins/fileManager/fileImage/index.d.ts +0 -2
- package/plugins/fileManager/fileImage/index.js +0 -46
- package/plugins/fileManager/fileImage/index.js.map +0 -1
- package/plugins/fileManager/icons/edit.svg +0 -17
- package/plugins/fileManager/icons/round-description-24px.svg +0 -1
- package/plugins/fileManager/index.d.ts +0 -2
- package/plugins/fileManager/index.js +0 -21
- package/plugins/fileManager/index.js.map +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.UPDATE_FILE = exports.LIST_TAGS = exports.LIST_FILES = exports.GET_FILE_SETTINGS = exports.DELETE_FILE = exports.CREATE_FILE = void 0;
|
|
9
|
-
|
|
10
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
11
|
-
|
|
12
|
-
var _graphqlTag = _interopRequireDefault(require("graphql-tag"));
|
|
13
|
-
|
|
14
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
|
|
15
|
-
|
|
16
|
-
var FILE_FIELDS =
|
|
17
|
-
/* GraphQL */
|
|
18
|
-
"\n {\n __typename\n id\n name\n key\n src\n size\n type\n tags\n createdOn\n createdBy {\n id\n }\n }\n";
|
|
19
|
-
var ERROR_FIELDS =
|
|
20
|
-
/* GraphQL */
|
|
21
|
-
"\n {\n code\n message\n data\n }\n";
|
|
22
|
-
/**
|
|
23
|
-
* ##################
|
|
24
|
-
* List Files Query Response
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
var LIST_FILES = (0, _graphqlTag.default)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n query ListFiles(\n $types: [String],\n $tags: [String],\n $limit: Int,\n $search: String,\n $after: String,\n $where: FileWhereInput\n ) {\n fileManager {\n listFiles(\n types: $types,\n limit: $limit,\n search: $search,\n tags: $tags,\n after: $after,\n where: $where\n ) {\n data ", "\n meta {\n cursor\n totalCount\n }\n }\n }\n }\n"])), FILE_FIELDS);
|
|
28
|
-
/**
|
|
29
|
-
* ##################
|
|
30
|
-
* List File Tags Query Response
|
|
31
|
-
*/
|
|
32
|
-
|
|
33
|
-
exports.LIST_FILES = LIST_FILES;
|
|
34
|
-
var LIST_TAGS = (0, _graphqlTag.default)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n query ListTags($where: TagWhereInput) {\n fileManager {\n listTags(where: $where)\n }\n }\n"])));
|
|
35
|
-
/**
|
|
36
|
-
* ##################
|
|
37
|
-
* Create File Mutation Response
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
exports.LIST_TAGS = LIST_TAGS;
|
|
41
|
-
var CREATE_FILE = (0, _graphqlTag.default)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n mutation CreateFile($data: FileInput!) {\n fileManager {\n createFile(data: $data) {\n error ", "\n data ", "\n }\n }\n }\n"])), ERROR_FIELDS, FILE_FIELDS);
|
|
42
|
-
/**
|
|
43
|
-
* ##################
|
|
44
|
-
* Update File Mutation Response
|
|
45
|
-
*/
|
|
46
|
-
|
|
47
|
-
exports.CREATE_FILE = CREATE_FILE;
|
|
48
|
-
var UPDATE_FILE = (0, _graphqlTag.default)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n mutation UpdateFile($id: ID!, $data: FileInput!) {\n fileManager {\n updateFile(id: $id, data: $data) {\n data {\n id\n src\n name\n tags\n }\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
|
|
49
|
-
/**
|
|
50
|
-
* ##################
|
|
51
|
-
* Delete File Mutation Response
|
|
52
|
-
*/
|
|
53
|
-
|
|
54
|
-
exports.UPDATE_FILE = UPDATE_FILE;
|
|
55
|
-
var DELETE_FILE = (0, _graphqlTag.default)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n mutation deleteFile($id: ID!) {\n fileManager {\n deleteFile(id: $id) {\n data\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
|
|
56
|
-
exports.DELETE_FILE = DELETE_FILE;
|
|
57
|
-
var GET_FILE_SETTINGS = (0, _graphqlTag.default)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n query getSettings {\n fileManager {\n getSettings {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n }\n error ", "\n }\n }\n }\n"])), ERROR_FIELDS);
|
|
58
|
-
exports.GET_FILE_SETTINGS = GET_FILE_SETTINGS;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FILE_FIELDS","ERROR_FIELDS","LIST_FILES","gql","LIST_TAGS","CREATE_FILE","UPDATE_FILE","DELETE_FILE","GET_FILE_SETTINGS"],"sources":["graphql.ts"],"sourcesContent":["import gql from \"graphql-tag\";\nimport { FileItem } from \"~/components/FileManager/types\";\n\nconst FILE_FIELDS = /* GraphQL */ `\n {\n __typename\n id\n name\n key\n src\n size\n type\n tags\n createdOn\n createdBy {\n id\n }\n }\n`;\n\nconst ERROR_FIELDS = /* GraphQL */ `\n {\n code\n message\n data\n }\n`;\n\n/**\n * ##################\n * List Files Query Response\n */\nexport interface ListFilesListFilesResponse {\n data: FileItem[];\n error?: Error | null;\n meta: {\n hasMoreItems: boolean;\n totalItem: number;\n cursor: string | null;\n };\n}\nexport interface ListFilesQueryResponse {\n fileManager: {\n listFiles: ListFilesListFilesResponse;\n };\n}\nexport interface ListFilesQueryVariables {\n types?: string[];\n tags?: string[];\n limit?: number;\n search?: string;\n after?: string;\n}\nexport const LIST_FILES = gql`\n query ListFiles(\n $types: [String],\n $tags: [String],\n $limit: Int,\n $search: String,\n $after: String,\n $where: FileWhereInput\n ) {\n fileManager {\n listFiles(\n types: $types,\n limit: $limit,\n search: $search,\n tags: $tags,\n after: $after,\n where: $where\n ) {\n data ${FILE_FIELDS}\n meta {\n cursor\n totalCount\n }\n }\n }\n }\n`;\n/**\n * ##################\n * List File Tags Query Response\n */\nexport interface ListFileTagsQueryResponse {\n fileManager: {\n listTags: string[];\n error: Error | null;\n };\n}\nexport const LIST_TAGS = gql`\n query ListTags($where: TagWhereInput) {\n fileManager {\n listTags(where: $where)\n }\n }\n`;\n/**\n * ##################\n * Create File Mutation Response\n */\nexport interface CreateFileMutationResponse {\n fileManager: {\n createFile: {\n data: FileItem;\n error?: Error | null;\n };\n };\n}\nexport interface FileInput {\n key: string;\n name: string;\n size: number;\n type: string;\n tags: string;\n meta: Record<string, any>;\n}\nexport interface CreateFileMutationVariables {\n data: FileInput;\n}\nexport const CREATE_FILE = gql`\n mutation CreateFile($data: FileInput!) {\n fileManager {\n createFile(data: $data) {\n error ${ERROR_FIELDS}\n data ${FILE_FIELDS}\n }\n }\n }\n`;\n/**\n * ##################\n * Update File Mutation Response\n */\nexport interface UpdateFileMutationResponse {\n fileManager: {\n updateFile: {\n data: FileItem;\n error?: Error | null;\n };\n };\n}\nexport interface UpdateFileMutationVariables {\n id: string;\n data: Partial<FileInput>;\n}\nexport const UPDATE_FILE = gql`\n mutation UpdateFile($id: ID!, $data: FileInput!) {\n fileManager {\n updateFile(id: $id, data: $data) {\n data {\n id\n src\n name\n tags\n }\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n\n/**\n * ##################\n * Delete File Mutation Response\n */\nexport interface DeleteFileMutationResponse {\n fileManager: {\n updateFile: {\n data: boolean;\n error?: Error | null;\n };\n };\n}\nexport interface DeleteFileMutationVariables {\n id: string;\n}\nexport const DELETE_FILE = gql`\n mutation deleteFile($id: ID!) {\n fileManager {\n deleteFile(id: $id) {\n data\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n\nexport const GET_FILE_SETTINGS = gql`\n query getSettings {\n fileManager {\n getSettings {\n data {\n uploadMinFileSize\n uploadMaxFileSize\n }\n error ${ERROR_FIELDS}\n }\n }\n }\n`;\n"],"mappings":";;;;;;;;;;;AAAA;;;;AAGA,IAAMA,WAAW;AAAG;AAAH,uMAAjB;AAiBA,IAAMC,YAAY;AAAG;AAAH,+DAAlB;AAQA;AACA;AACA;AACA;;AAsBO,IAAMC,UAAU,OAAGC,mBAAH,srBAkBAH,WAlBA,CAAhB;AA2BP;AACA;AACA;AACA;;;AAOO,IAAMI,SAAS,OAAGD,mBAAH,mNAAf;AAOP;AACA;AACA;AACA;;;AAoBO,IAAME,WAAW,OAAGF,mBAAH,6RAIAF,YAJA,EAKDD,WALC,CAAjB;AAUP;AACA;AACA;AACA;;;AAaO,IAAMM,WAAW,OAAGH,mBAAH,qaAUAF,YAVA,CAAjB;AAgBP;AACA;AACA;AACA;;;AAYO,IAAMM,WAAW,OAAGJ,mBAAH,2QAKAF,YALA,CAAjB;;AAWA,IAAMO,iBAAiB,OAAGL,mBAAH,0VAQNF,YARM,CAAvB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" viewBox="0 0 24 24" fill="black" width="24px" height="24px"><g><rect fill="none" height="24" width="24"/></g><g><path d="M15,20H5V7c0-0.55-0.45-1-1-1h0C3.45,6,3,6.45,3,7v13c0,1.1,0.9,2,2,2h10c0.55,0,1-0.45,1-1v0C16,20.45,15.55,20,15,20z M20,16V4c0-1.1-0.9-2-2-2H9C7.9,2,7,2.9,7,4v12c0,1.1,0.9,2,2,2h9C19.1,18,20,17.1,20,16z M18,16H9V4h9V16z"/></g></svg>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
|
|
4
|
-
height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
5
|
-
<g id="Rounded">
|
|
6
|
-
<g id="ui_x5F_spec_x5F_header_copy_5">
|
|
7
|
-
</g>
|
|
8
|
-
<path fill="currentColor" d="M6,19c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V9c0-1.1-0.9-2-2-2H8C6.9,7,6,7.9,6,9V19z M18,4h-2.5l-0.71-0.71
|
|
9
|
-
C14.61,3.11,14.35,3,14.09,3H9.91C9.65,3,9.39,3.11,9.21,3.29L8.5,4H6C5.45,4,5,4.45,5,5v0c0,0.55,0.45,1,1,1h12c0.55,0,1-0.45,1-1
|
|
10
|
-
v0C19,4.45,18.55,4,18,4z"/>
|
|
11
|
-
</g>
|
|
12
|
-
</svg>
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
<svg
|
|
2
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
3
|
-
viewBox="0 0 24 24"
|
|
4
|
-
fill="currentColor"
|
|
5
|
-
>
|
|
6
|
-
<g>
|
|
7
|
-
<rect fill="none" height="24" width="24" y="0"/>
|
|
8
|
-
<path d="M4.19,4.47C3.47,4.79,3,5.51,3,6.3V11c0,5.55,3.84,10.74,9,12c5.16-1.26,9-6.45,9-12V6.3c0-0.79-0.47-1.51-1.19-1.83 l-7-3.11c-0.52-0.23-1.11-0.23-1.62,0L4.19,4.47z M12,7L12,7c0.55,0,1,0.45,1,1v0c0,0.55-0.45,1-1,1h0c-0.55,0-1-0.45-1-1v0 C11,7.45,11.45,7,12,7z M12,11L12,11c0.55,0,1,0.45,1,1v4c0,0.55-0.45,1-1,1h0c-0.55,0-1-0.45-1-1v-4C11,11.45,11.45,11,12,11z"/>
|
|
9
|
-
</g>
|
|
10
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8.29 13.29c-.39.39-1.02.39-1.41 0L5.71 12.7c-.39-.39-.39-1.02 0-1.41.39-.39 1.02-.39 1.41 0L10 14.17l6.88-6.88c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-7.58 7.59z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM17 13l-4.65 4.65c-.2.2-.51.2-.71 0L7 13h3V9h4v4h3z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l4.65-4.65c.2-.2.51-.2.71 0L17 13h-3z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M14.59 2.59c-.38-.38-.89-.59-1.42-.59H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8.83c0-.53-.21-1.04-.59-1.41l-4.82-4.83zM15 18H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm0-4H9c-.55 0-1-.45-1-1s.45-1 1-1h6c.55 0 1 .45 1 1s-.45 1-1 1zm-2-6V3.5L18.5 9H14c-.55 0-1-.45-1-1z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="currentColor" d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"/>
|
|
3
|
-
<path d="M0 0h24v24H0z" fill="none"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 15c-.55 0-1-.45-1-1v-4c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1zm1-8h-2V7h2v2z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84l3.96-5.58c.25-.35.25-.81 0-1.16l-3.96-5.58z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="24" viewBox="0 0 24 24">
|
|
2
|
-
<path fill="none" d="M0 0h24v24H0V0z"/>
|
|
3
|
-
<path fill="currentColor" d="M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"/>
|
|
4
|
-
</svg>
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
-
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="24px"
|
|
4
|
-
height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
5
|
-
<g id="Header_x2F_BG" display="none">
|
|
6
|
-
<rect x="-358" y="-314" display="inline" fill="#F1F1F2" width="520" height="520"/>
|
|
7
|
-
</g>
|
|
8
|
-
<g id="Bounding_Boxes">
|
|
9
|
-
<g id="ui_x5F_spec_x5F_header_copy_3" display="none">
|
|
10
|
-
</g>
|
|
11
|
-
<path fill="none" d="M0,0h24v24H0V0z"/>
|
|
12
|
-
</g>
|
|
13
|
-
<g id="Rounded">
|
|
14
|
-
<g id="ui_x5F_spec_x5F_header_copy_5" display="none">
|
|
15
|
-
</g>
|
|
16
|
-
<path fill="currentColor" d="M15.5,14h-0.79l-0.28-0.27c1.2-1.4,1.82-3.31,1.48-5.34c-0.47-2.78-2.79-5-5.59-5.34c-4.23-0.52-7.79,3.04-7.27,7.27
|
|
17
|
-
c0.34,2.8,2.56,5.12,5.34,5.59c2.03,0.34,3.94-0.28,5.34-1.48L14,14.71v0.79l4.25,4.25c0.41,0.41,1.08,0.41,1.49,0l0,0
|
|
18
|
-
c0.41-0.41,0.41-1.08,0-1.49L15.5,14z M9.5,14C7.01,14,5,11.99,5,9.5S7.01,5,9.5,5S14,7.01,14,9.5S11.99,14,9.5,14z"/>
|
|
19
|
-
</g>
|
|
20
|
-
</svg>
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { FileError as BaseFileError } from "react-butterfiles";
|
|
2
|
-
interface FileError extends BaseFileError {
|
|
3
|
-
multipleMaxCount: number;
|
|
4
|
-
multipleMaxSize: number;
|
|
5
|
-
}
|
|
6
|
-
export declare const outputFileSelectionError: (errors: FileError[]) => string | null;
|
|
7
|
-
export {};
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.outputFileSelectionError = void 0;
|
|
9
|
-
|
|
10
|
-
var _bytes = _interopRequireDefault(require("bytes"));
|
|
11
|
-
|
|
12
|
-
var outputFileSelectionError = function outputFileSelectionError(errors) {
|
|
13
|
-
if (errors.length > 1) {
|
|
14
|
-
var error = errors.find(function (error) {
|
|
15
|
-
return error.type === "multipleMaxCountExceeded";
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
if (error) {
|
|
19
|
-
return "Cannot upload more than ".concat(error.multipleMaxCount, " files at once.");
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
error = errors.find(function (error) {
|
|
23
|
-
return error.type === "multipleMaxSizeExceeded";
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
if (error) {
|
|
27
|
-
return "Cannot upload more than ".concat(_bytes.default.format(error.multipleMaxSize), " at once.");
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return "Multiple invalid files selected.";
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
switch (errors[0].type) {
|
|
34
|
-
case "unsupportedFileType":
|
|
35
|
-
return "Unsupported file type.";
|
|
36
|
-
|
|
37
|
-
case "maxSizeExceeded":
|
|
38
|
-
return "Max size exceeded.";
|
|
39
|
-
|
|
40
|
-
case "multipleMaxCountExceeded":
|
|
41
|
-
return "Multiple max files exceeded.";
|
|
42
|
-
|
|
43
|
-
case "multipleMaxSizeExceeded":
|
|
44
|
-
return "Multiple max size exceeded.";
|
|
45
|
-
|
|
46
|
-
case "multipleNotAllowed":
|
|
47
|
-
return "Only one file allowed.";
|
|
48
|
-
|
|
49
|
-
default:
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
exports.outputFileSelectionError = outputFileSelectionError;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["outputFileSelectionError","errors","length","error","find","type","multipleMaxCount","bytes","format","multipleMaxSize"],"sources":["outputFileSelectionError.ts"],"sourcesContent":["import bytes from \"bytes\";\nimport { FileError as BaseFileError } from \"react-butterfiles\";\n\ninterface FileError extends BaseFileError {\n multipleMaxCount: number;\n multipleMaxSize: number;\n}\n\nexport const outputFileSelectionError = (errors: FileError[]): string | null => {\n if (errors.length > 1) {\n let error = errors.find(error => error.type === \"multipleMaxCountExceeded\");\n if (error) {\n return `Cannot upload more than ${error.multipleMaxCount} files at once.`;\n }\n\n error = errors.find(error => error.type === \"multipleMaxSizeExceeded\");\n if (error) {\n return `Cannot upload more than ${bytes.format(error.multipleMaxSize)} at once.`;\n }\n\n return \"Multiple invalid files selected.\";\n }\n\n switch (errors[0].type) {\n case \"unsupportedFileType\":\n return \"Unsupported file type.\";\n case \"maxSizeExceeded\":\n return \"Max size exceeded.\";\n case \"multipleMaxCountExceeded\":\n return \"Multiple max files exceeded.\";\n case \"multipleMaxSizeExceeded\":\n return \"Multiple max size exceeded.\";\n case \"multipleNotAllowed\":\n return \"Only one file allowed.\";\n default:\n return null;\n }\n};\n"],"mappings":";;;;;;;;;AAAA;;AAQO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,MAAD,EAAwC;EAC5E,IAAIA,MAAM,CAACC,MAAP,GAAgB,CAApB,EAAuB;IACnB,IAAIC,KAAK,GAAGF,MAAM,CAACG,IAAP,CAAY,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACE,IAAN,KAAe,0BAAnB;IAAA,CAAjB,CAAZ;;IACA,IAAIF,KAAJ,EAAW;MACP,yCAAkCA,KAAK,CAACG,gBAAxC;IACH;;IAEDH,KAAK,GAAGF,MAAM,CAACG,IAAP,CAAY,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACE,IAAN,KAAe,yBAAnB;IAAA,CAAjB,CAAR;;IACA,IAAIF,KAAJ,EAAW;MACP,yCAAkCI,cAAA,CAAMC,MAAN,CAAaL,KAAK,CAACM,eAAnB,CAAlC;IACH;;IAED,OAAO,kCAAP;EACH;;EAED,QAAQR,MAAM,CAAC,CAAD,CAAN,CAAUI,IAAlB;IACI,KAAK,qBAAL;MACI,OAAO,wBAAP;;IACJ,KAAK,iBAAL;MACI,OAAO,oBAAP;;IACJ,KAAK,0BAAL;MACI,OAAO,8BAAP;;IACJ,KAAK,yBAAL;MACI,OAAO,6BAAP;;IACJ,KAAK,oBAAL;MACI,OAAO,wBAAP;;IACJ;MACI,OAAO,IAAP;EAZR;AAcH,CA7BM"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { SecurityPermission } from "@webiny/app-security/types";
|
|
2
|
-
/**
|
|
3
|
-
* Represents a file as we receive from the GraphQL API.
|
|
4
|
-
*/
|
|
5
|
-
export interface FileItem {
|
|
6
|
-
id: string;
|
|
7
|
-
name: string;
|
|
8
|
-
key: string;
|
|
9
|
-
src: string;
|
|
10
|
-
size: number;
|
|
11
|
-
type: string;
|
|
12
|
-
tags: string[];
|
|
13
|
-
createdOn: string;
|
|
14
|
-
createdBy: {
|
|
15
|
-
id: string;
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
export interface FileManagerSecurityPermission extends SecurityPermission {
|
|
19
|
-
rwd?: string;
|
|
20
|
-
own?: boolean;
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { SecurityPermission } from \"@webiny/app-security/types\";\n\n/**\n * Represents a file as we receive from the GraphQL API.\n */\nexport interface FileItem {\n id: string;\n name: string;\n key: string;\n src: string;\n size: number;\n type: string;\n tags: string[];\n createdOn: string;\n createdBy: {\n id: string;\n };\n}\n\nexport interface FileManagerSecurityPermission extends SecurityPermission {\n rwd?: string;\n own?: boolean;\n}\n"],"mappings":""}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
interface OnChange<T> {
|
|
3
|
-
(value: T): void;
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
* Represents a file object managed by the File Manager.
|
|
7
|
-
*/
|
|
8
|
-
export interface FileManagerFileItem {
|
|
9
|
-
id: string;
|
|
10
|
-
src: string;
|
|
11
|
-
meta?: Array<FileManagerFileItemMetaItem>;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* With this we allow developers to add any value to file's meta via component composition, thus the `value: any`.
|
|
15
|
-
*/
|
|
16
|
-
export interface FileManagerFileItemMetaItem {
|
|
17
|
-
key: string;
|
|
18
|
-
value: any;
|
|
19
|
-
}
|
|
20
|
-
export declare type DeprecatedFileManagerRenderPropParams = {
|
|
21
|
-
showFileManager: (onChange?: OnChange<FileManagerFileItem | FileManagerFileItem[]>) => void;
|
|
22
|
-
};
|
|
23
|
-
export declare type FileManagerRenderPropParams<TValue> = {
|
|
24
|
-
showFileManager: (onChange?: OnChange<TValue>) => void;
|
|
25
|
-
};
|
|
26
|
-
interface SingleFileRenderProp {
|
|
27
|
-
(params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;
|
|
28
|
-
}
|
|
29
|
-
interface MultiFileRenderProp {
|
|
30
|
-
(params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;
|
|
31
|
-
}
|
|
32
|
-
export declare type MultipleProps = {
|
|
33
|
-
multiple?: never;
|
|
34
|
-
multipleMaxCount?: never;
|
|
35
|
-
multipleMaxSize?: never;
|
|
36
|
-
onChange?: OnChange<FileManagerFileItem>;
|
|
37
|
-
render?: SingleFileRenderProp;
|
|
38
|
-
} | {
|
|
39
|
-
multiple: true;
|
|
40
|
-
multipleMaxCount?: number;
|
|
41
|
-
multipleMaxSize?: number | string;
|
|
42
|
-
onChange?: OnChange<FileManagerFileItem[]>;
|
|
43
|
-
render?: MultiFileRenderProp;
|
|
44
|
-
};
|
|
45
|
-
export declare type FileManagerProps = {
|
|
46
|
-
accept?: Array<string>;
|
|
47
|
-
images?: boolean;
|
|
48
|
-
maxSize?: number | string;
|
|
49
|
-
/**
|
|
50
|
-
* @deprecated This prop is no longer used. The file structure was reduced to a bare minimum so picking is no longer necessary.
|
|
51
|
-
*/
|
|
52
|
-
onChangePick?: string[];
|
|
53
|
-
onClose?: Function;
|
|
54
|
-
onUploadCompletion?: (files: FileManagerFileItem[]) => void;
|
|
55
|
-
own?: boolean;
|
|
56
|
-
scope?: string;
|
|
57
|
-
tags?: Array<string>;
|
|
58
|
-
/**
|
|
59
|
-
* @deprecated This prop is no longer used. Use the `render` prop to get better TS autocomplete.
|
|
60
|
-
*/
|
|
61
|
-
children?: (params: DeprecatedFileManagerRenderPropParams) => React.ReactNode;
|
|
62
|
-
} & MultipleProps;
|
|
63
|
-
declare type DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;
|
|
64
|
-
export declare type FileManagerRendererProps = DistributiveOmit<FileManagerProps, "render" | "children">;
|
|
65
|
-
export declare const FileManagerRenderer: import("@webiny/react-composition").ComposableFC<FileManagerRendererProps>;
|
|
66
|
-
export declare const FileManager: React.FC<FileManagerProps>;
|
|
67
|
-
export {};
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.FileManagerRenderer = exports.FileManager = void 0;
|
|
11
|
-
|
|
12
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
|
|
15
|
-
|
|
16
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
17
|
-
|
|
18
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
-
|
|
20
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
21
|
-
|
|
22
|
-
var _reactComposition = require("@webiny/react-composition");
|
|
23
|
-
|
|
24
|
-
var _FileManagerView = _interopRequireDefault(require("./FileManager/FileManagerView"));
|
|
25
|
-
|
|
26
|
-
var _FileManagerContext = require("./FileManager/FileManagerContext");
|
|
27
|
-
|
|
28
|
-
var _excluded = ["id", "src"],
|
|
29
|
-
_excluded2 = ["onChange", "images", "accept"],
|
|
30
|
-
_excluded3 = ["children", "render", "onChange"];
|
|
31
|
-
|
|
32
|
-
function getPortalTarget() {
|
|
33
|
-
var target = window.document.getElementById("file-manager-container");
|
|
34
|
-
|
|
35
|
-
if (!target) {
|
|
36
|
-
target = document.createElement("div");
|
|
37
|
-
target.setAttribute("id", "file-manager-container");
|
|
38
|
-
document.body && document.body.appendChild(target);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return target;
|
|
42
|
-
} // This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Convert a FileItem object to a FileManagerFileItem, which is then passed to `onChange` callback.
|
|
47
|
-
*/
|
|
48
|
-
var formatFileItem = function formatFileItem(_ref) {
|
|
49
|
-
var id = _ref.id,
|
|
50
|
-
src = _ref.src,
|
|
51
|
-
rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
|
|
52
|
-
var props = rest;
|
|
53
|
-
return {
|
|
54
|
-
id: id,
|
|
55
|
-
src: src,
|
|
56
|
-
meta: Object.keys(rest).map(function (key) {
|
|
57
|
-
return {
|
|
58
|
-
key: key,
|
|
59
|
-
value: props[key]
|
|
60
|
-
};
|
|
61
|
-
})
|
|
62
|
-
};
|
|
63
|
-
};
|
|
64
|
-
/**
|
|
65
|
-
* If `accept` prop is not passed, and `images` prop is set, use these default mime types.
|
|
66
|
-
* Defaults can be overridden using the `createComponentPlugin` and `FileManagerRenderer` component.
|
|
67
|
-
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var imagesAccept = ["image/jpg", "image/jpeg", "image/tiff", "image/gif", "image/png", "image/webp", "image/bmp", "image/svg+xml"];
|
|
71
|
-
|
|
72
|
-
var DefaultFileManagerRenderer = function DefaultFileManagerRenderer(props) {
|
|
73
|
-
var onChange = props.onChange,
|
|
74
|
-
images = props.images,
|
|
75
|
-
accept = props.accept,
|
|
76
|
-
forwardProps = (0, _objectWithoutProperties2.default)(props, _excluded2);
|
|
77
|
-
|
|
78
|
-
var handleFileOnChange = function handleFileOnChange(value) {
|
|
79
|
-
if (!onChange || !value || Array.isArray(value) && !value.length) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (Array.isArray(value)) {
|
|
84
|
-
var finalValue = value.map(formatFileItem);
|
|
85
|
-
onChange(finalValue);
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
onChange(formatFileItem(value));
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
var viewProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, forwardProps), {}, {
|
|
93
|
-
onChange: typeof onChange === "function" ? handleFileOnChange : undefined,
|
|
94
|
-
accept: images ? accept || imagesAccept : accept || []
|
|
95
|
-
});
|
|
96
|
-
return /*#__PURE__*/_react.default.createElement(_FileManagerContext.FileManagerProvider, {
|
|
97
|
-
accept: viewProps.accept,
|
|
98
|
-
tags: viewProps.tags || [],
|
|
99
|
-
own: viewProps.own,
|
|
100
|
-
scope: viewProps.scope
|
|
101
|
-
}, /*#__PURE__*/_react.default.createElement(_FileManagerView.default, viewProps));
|
|
102
|
-
};
|
|
103
|
-
|
|
104
|
-
var FileManagerRenderer = (0, _reactComposition.makeComposable)("FileManagerRenderer", DefaultFileManagerRenderer);
|
|
105
|
-
exports.FileManagerRenderer = FileManagerRenderer;
|
|
106
|
-
|
|
107
|
-
var FileManager = function FileManager(_ref2) {
|
|
108
|
-
var children = _ref2.children,
|
|
109
|
-
render = _ref2.render,
|
|
110
|
-
onChange = _ref2.onChange,
|
|
111
|
-
rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded3);
|
|
112
|
-
var containerRef = (0, _react.useRef)(getPortalTarget());
|
|
113
|
-
|
|
114
|
-
var _useState = (0, _react.useState)(false),
|
|
115
|
-
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
116
|
-
show = _useState2[0],
|
|
117
|
-
setShow = _useState2[1];
|
|
118
|
-
|
|
119
|
-
var onChangeRef = (0, _react.useRef)(onChange);
|
|
120
|
-
(0, _react.useEffect)(function () {
|
|
121
|
-
onChangeRef.current = onChange;
|
|
122
|
-
}, [onChange]);
|
|
123
|
-
var showFileManager = (0, _react.useCallback)(function (onChange) {
|
|
124
|
-
if (typeof onChange === "function") {
|
|
125
|
-
onChangeRef.current = onChange;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
setShow(true);
|
|
129
|
-
}, []);
|
|
130
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, show && /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(FileManagerRenderer, Object.assign({
|
|
131
|
-
onClose: function onClose() {
|
|
132
|
-
return setShow(false);
|
|
133
|
-
},
|
|
134
|
-
onChange:
|
|
135
|
-
/* TODO: figure out how to create a conditional type based on the value of `rest.multiple` */
|
|
136
|
-
onChangeRef.current
|
|
137
|
-
}, rest)), containerRef.current), children ? children({
|
|
138
|
-
showFileManager: showFileManager
|
|
139
|
-
}) : render ? render({
|
|
140
|
-
showFileManager: showFileManager
|
|
141
|
-
}) : null);
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
exports.FileManager = FileManager;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getPortalTarget","target","window","document","getElementById","createElement","setAttribute","body","appendChild","formatFileItem","id","src","rest","props","meta","Object","keys","map","key","value","imagesAccept","DefaultFileManagerRenderer","onChange","images","accept","forwardProps","handleFileOnChange","Array","isArray","length","finalValue","viewProps","undefined","tags","own","scope","FileManagerRenderer","makeComposable","FileManager","children","render","containerRef","useRef","useState","show","setShow","onChangeRef","useEffect","current","showFileManager","useCallback","ReactDOM","createPortal"],"sources":["FileManager.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { makeComposable } from \"@webiny/react-composition\";\nimport FileManagerView, { FileManagerViewProps } from \"./FileManager/FileManagerView\";\nimport { FileItem } from \"./FileManager/types\";\nimport { FileManagerProvider } from \"./FileManager/FileManagerContext\";\n\ninterface OnChange<T> {\n (value: T): void;\n}\n\n/**\n * Represents a file object managed by the File Manager.\n */\nexport interface FileManagerFileItem {\n id: string;\n src: string;\n meta?: Array<FileManagerFileItemMetaItem>;\n}\n\n/**\n * With this we allow developers to add any value to file's meta via component composition, thus the `value: any`.\n */\nexport interface FileManagerFileItemMetaItem {\n key: string;\n value: any;\n}\n\nexport type DeprecatedFileManagerRenderPropParams = {\n showFileManager: (onChange?: OnChange<FileManagerFileItem | FileManagerFileItem[]>) => void;\n};\n\nexport type FileManagerRenderPropParams<TValue> = {\n showFileManager: (onChange?: OnChange<TValue>) => void;\n};\n\ninterface SingleFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem>): React.ReactNode;\n}\n\ninterface MultiFileRenderProp {\n (params: FileManagerRenderPropParams<FileManagerFileItem[]>): React.ReactNode;\n}\n\nexport type MultipleProps =\n | {\n multiple?: never;\n multipleMaxCount?: never;\n multipleMaxSize?: never;\n onChange?: OnChange<FileManagerFileItem>;\n render?: SingleFileRenderProp;\n }\n | {\n multiple: true;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onChange?: OnChange<FileManagerFileItem[]>;\n render?: MultiFileRenderProp;\n };\n\nexport type FileManagerProps = {\n accept?: Array<string>;\n images?: boolean;\n maxSize?: number | string;\n /**\n * @deprecated This prop is no longer used. The file structure was reduced to a bare minimum so picking is no longer necessary.\n */\n onChangePick?: string[];\n onClose?: Function;\n onUploadCompletion?: (files: FileManagerFileItem[]) => void;\n own?: boolean;\n scope?: string;\n tags?: Array<string>;\n /**\n * @deprecated This prop is no longer used. Use the `render` prop to get better TS autocomplete.\n */\n children?: (params: DeprecatedFileManagerRenderPropParams) => React.ReactNode;\n} & MultipleProps;\n\nfunction getPortalTarget() {\n let target = window.document.getElementById(\"file-manager-container\");\n if (!target) {\n target = document.createElement(\"div\");\n target.setAttribute(\"id\", \"file-manager-container\");\n document.body && document.body.appendChild(target);\n }\n return target;\n}\n\n// This jewel was taken from https://davidgomes.com/pick-omit-over-union-types-in-typescript/. Massive thanks, David!\ntype DistributiveOmit<T, K extends keyof T> = T extends unknown ? Omit<T, K> : never;\n\nexport type FileManagerRendererProps = DistributiveOmit<FileManagerProps, \"render\" | \"children\">;\n\n/**\n * Convert a FileItem object to a FileManagerFileItem, which is then passed to `onChange` callback.\n */\nconst formatFileItem = ({ id, src, ...rest }: FileItem): FileManagerFileItem => {\n const props: { [key: string]: any } = rest;\n\n return {\n id,\n src,\n meta: Object.keys(rest).map(key => ({ key, value: props[key] }))\n };\n};\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\nconst DefaultFileManagerRenderer: React.FC<FileManagerRendererProps> = props => {\n const { onChange, images, accept, ...forwardProps } = props;\n\n const handleFileOnChange = (value?: FileItem[] | FileItem) => {\n if (!onChange || !value || (Array.isArray(value) && !value.length)) {\n return;\n }\n\n if (Array.isArray(value)) {\n const finalValue: FileManagerFileItem[] = value.map(formatFileItem);\n (onChange as OnChange<FileManagerFileItem[]>)(finalValue);\n return;\n }\n\n (onChange as OnChange<FileManagerFileItem>)(formatFileItem(value));\n };\n\n const viewProps: FileManagerViewProps = {\n ...forwardProps,\n onChange: typeof onChange === \"function\" ? handleFileOnChange : undefined,\n accept: images ? accept || imagesAccept : accept || []\n };\n\n return (\n <FileManagerProvider\n accept={viewProps.accept}\n tags={viewProps.tags || []}\n own={viewProps.own}\n scope={viewProps.scope}\n >\n <FileManagerView {...viewProps} />\n </FileManagerProvider>\n );\n};\n\nexport const FileManagerRenderer = makeComposable(\n \"FileManagerRenderer\",\n DefaultFileManagerRenderer\n);\n\nexport const FileManager: React.FC<FileManagerProps> = ({\n children,\n render,\n onChange,\n ...rest\n}) => {\n const containerRef = useRef<HTMLElement>(getPortalTarget());\n const [show, setShow] = useState(false);\n const onChangeRef = useRef(onChange);\n\n useEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n\n const showFileManager = useCallback(onChange => {\n if (typeof onChange === \"function\") {\n onChangeRef.current = onChange;\n }\n setShow(true);\n }, []);\n\n return (\n <>\n {show &&\n ReactDOM.createPortal(\n <FileManagerRenderer\n onClose={() => setShow(false)}\n onChange={\n /* TODO: figure out how to create a conditional type based on the value of `rest.multiple` */\n onChangeRef.current as any\n }\n {...rest}\n />,\n containerRef.current\n )}\n {children ? children({ showFileManager }) : render ? render({ showFileManager }) : null}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Plugin } from "@webiny/plugins";
|
|
3
|
-
interface File {
|
|
4
|
-
id: string;
|
|
5
|
-
name: string;
|
|
6
|
-
key: string;
|
|
7
|
-
src: string;
|
|
8
|
-
size: number;
|
|
9
|
-
type: string;
|
|
10
|
-
tags: string[];
|
|
11
|
-
createdOn: string;
|
|
12
|
-
createdBy: {
|
|
13
|
-
id: string;
|
|
14
|
-
};
|
|
15
|
-
[key: string]: any;
|
|
16
|
-
}
|
|
17
|
-
export interface RenderParams {
|
|
18
|
-
file: File;
|
|
19
|
-
}
|
|
20
|
-
interface Config {
|
|
21
|
-
types: string[];
|
|
22
|
-
actions?: React.ComponentType<any>[];
|
|
23
|
-
render(params: RenderParams): React.ReactNode;
|
|
24
|
-
}
|
|
25
|
-
export declare class FileManagerFileTypePlugin extends Plugin {
|
|
26
|
-
static readonly type: string;
|
|
27
|
-
private readonly config;
|
|
28
|
-
constructor(config?: Config);
|
|
29
|
-
get types(): string[];
|
|
30
|
-
get actions(): React.ComponentType[];
|
|
31
|
-
render(params: RenderParams): React.ReactNode;
|
|
32
|
-
}
|
|
33
|
-
export {};
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.FileManagerFileTypePlugin = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
|
|
19
|
-
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var _plugins = require("@webiny/plugins");
|
|
23
|
-
|
|
24
|
-
var FileManagerFileTypePlugin = /*#__PURE__*/function (_Plugin) {
|
|
25
|
-
(0, _inherits2.default)(FileManagerFileTypePlugin, _Plugin);
|
|
26
|
-
|
|
27
|
-
var _super = (0, _createSuper2.default)(FileManagerFileTypePlugin);
|
|
28
|
-
|
|
29
|
-
function FileManagerFileTypePlugin(config) {
|
|
30
|
-
var _this;
|
|
31
|
-
|
|
32
|
-
(0, _classCallCheck2.default)(this, FileManagerFileTypePlugin);
|
|
33
|
-
_this = _super.call(this);
|
|
34
|
-
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "config", void 0);
|
|
35
|
-
_this.config = config || {};
|
|
36
|
-
return _this;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
(0, _createClass2.default)(FileManagerFileTypePlugin, [{
|
|
40
|
-
key: "types",
|
|
41
|
-
get: function get() {
|
|
42
|
-
return this.config.types || [];
|
|
43
|
-
}
|
|
44
|
-
}, {
|
|
45
|
-
key: "actions",
|
|
46
|
-
get: function get() {
|
|
47
|
-
return this.config.actions || [];
|
|
48
|
-
}
|
|
49
|
-
}, {
|
|
50
|
-
key: "render",
|
|
51
|
-
value: function render(params) {
|
|
52
|
-
if (!this.config.render) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
return this.config.render(params);
|
|
57
|
-
}
|
|
58
|
-
}]);
|
|
59
|
-
return FileManagerFileTypePlugin;
|
|
60
|
-
}(_plugins.Plugin);
|
|
61
|
-
|
|
62
|
-
exports.FileManagerFileTypePlugin = FileManagerFileTypePlugin;
|
|
63
|
-
(0, _defineProperty2.default)(FileManagerFileTypePlugin, "type", "admin-file-manager-file-type");
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["FileManagerFileTypePlugin","config","types","actions","params","render","Plugin"],"sources":["FileManagerFileTypePlugin.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { Plugin } from \"@webiny/plugins\";\n\ninterface File {\n id: string;\n name: string;\n key: string;\n src: string;\n size: number;\n type: string;\n tags: string[];\n createdOn: string;\n createdBy: {\n id: string;\n };\n [key: string]: any;\n}\n\nexport interface RenderParams {\n file: File;\n}\n\ninterface Config {\n types: string[];\n actions?: React.ComponentType<any>[];\n render(params: RenderParams): React.ReactNode;\n}\n\nexport class FileManagerFileTypePlugin extends Plugin {\n public static override readonly type: string = \"admin-file-manager-file-type\";\n private readonly config: Partial<Config>;\n\n public constructor(config?: Config) {\n super();\n this.config = config || {};\n }\n\n get types(): string[] {\n return this.config.types || [];\n }\n\n get actions(): React.ComponentType[] {\n return this.config.actions || [];\n }\n\n public render(params: RenderParams): React.ReactNode {\n if (!this.config.render) {\n return null;\n }\n return this.config.render(params);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AACA;;IA2BaA,yB;;;;;EAIT,mCAAmBC,MAAnB,EAAoC;IAAA;;IAAA;IAChC;IADgC;IAEhC,MAAKA,MAAL,GAAcA,MAAM,IAAI,EAAxB;IAFgC;EAGnC;;;;SAED,eAAsB;MAClB,OAAO,KAAKA,MAAL,CAAYC,KAAZ,IAAqB,EAA5B;IACH;;;SAED,eAAqC;MACjC,OAAO,KAAKD,MAAL,CAAYE,OAAZ,IAAuB,EAA9B;IACH;;;WAED,gBAAcC,MAAd,EAAqD;MACjD,IAAI,CAAC,KAAKH,MAAL,CAAYI,MAAjB,EAAyB;QACrB,OAAO,IAAP;MACH;;MACD,OAAO,KAAKJ,MAAL,CAAYI,MAAZ,CAAmBD,MAAnB,CAAP;IACH;;;EAtB0CE,e;;;8BAAlCN,yB,UACsC,8B"}
|