@webiny/app-admin 5.33.5 → 5.34.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.
@@ -1 +1 @@
1
- {"version":3,"names":["Name","file","canEdit","name","useSnackbar","showSnackbar","client","useApolloClient","useFileManager","queryParams","editContent","useMemo","mutate","mutation","UPDATE_FILE","variables","id","data","update","cache","updated","newFileData","readQuery","query","LIST_FILES","fileManager","listFiles","forEach","item","src","writeQuery","Bind","submit","validation","create"],"sources":["Name.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { get, cloneDeep } from \"lodash\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport {\n UPDATE_FILE,\n LIST_FILES,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables,\n ListFilesQueryResponse\n} from \"./../graphql\";\nimport { useFileManager } from \"./../FileManagerContext\";\nimport { FileItem } from \"../types\";\n\ninterface NameProps {\n file: FileItem;\n canEdit: (file: FileItem) => boolean;\n}\nconst Name: React.FC<NameProps> = ({ file, canEdit }) => {\n const name = file.name || \"\";\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n\n const { queryParams } = useFileManager();\n\n const editContent = useMemo(() => {\n return (\n <Form\n data={{\n name\n }}\n onSubmit={async ({ name }) => {\n // Bail out if name is same as the current file name.\n if (name === file.name) {\n return;\n }\n // Update file.\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE,\n variables: {\n id: file.id,\n data: { name }\n },\n update: (cache, updated) => {\n const newFileData: FileItem = get(\n updated,\n \"data.fileManager.updateFile.data\"\n );\n const data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n\n if (data) {\n data.fileManager.listFiles.data.forEach(item => {\n if (item.src === newFileData.src) {\n item.name = newFileData.name;\n }\n });\n }\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: data\n });\n }\n });\n\n showSnackbar(\"Name successfully updated.\");\n }}\n >\n {({ Bind, submit }) => (\n <Bind name={\"name\"} validators={validation.create(\"required\")}>\n <Input\n disabled={!canEdit(file)}\n autoFocus\n placeholder={\"Enter name\"}\n fullwidth={true}\n onBlur={submit}\n description={\"A descriptive name is easier to remember.\"}\n />\n </Bind>\n )}\n </Form>\n );\n }, [name, file.name, canEdit]);\n\n return <li-content>{editContent}</li-content>;\n};\n\nexport default Name;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA;;AAOA,IAAMA,IAAyB,GAAG,SAA5BA,IAA4B,OAAuB;EAAA,IAApBC,IAAoB,QAApBA,IAAoB;EAAA,IAAdC,OAAc,QAAdA,OAAc;EACrD,IAAMC,IAAI,GAAGF,IAAI,CAACE,IAAL,IAAa,EAA1B;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EACA,IAAMC,MAAM,GAAG,IAAAC,2BAAA,GAAf;;EAEA,sBAAwB,IAAAC,kCAAA,GAAxB;EAAA,IAAQC,WAAR,mBAAQA,WAAR;;EAEA,IAAMC,WAAW,GAAG,IAAAC,cAAA,EAAQ,YAAM;IAC9B,oBACI,6BAAC,UAAD;MACI,IAAI,EAAE;QACFR,IAAI,EAAJA;MADE,CADV;MAII,QAAQ;QAAA,mGAAE;UAAA;UAAA;YAAA;cAAA;gBAAA;kBAASA,IAAT,SAASA,IAAT;;kBAAA,MAEFA,IAAI,KAAKF,IAAI,CAACE,IAFZ;oBAAA;oBAAA;kBAAA;;kBAAA;;gBAAA;kBAAA;kBAAA,OAMAG,MAAM,CAACM,MAAP,CAAuE;oBACzEC,QAAQ,EAAEC,oBAD+D;oBAEzEC,SAAS,EAAE;sBACPC,EAAE,EAAEf,IAAI,CAACe,EADF;sBAEPC,IAAI,EAAE;wBAAEd,IAAI,EAAJA;sBAAF;oBAFC,CAF8D;oBAMzEe,MAAM,EAAE,gBAACC,KAAD,EAAQC,OAAR,EAAoB;sBACxB,IAAMC,WAAqB,GAAG,mBAC1BD,OAD0B,EAE1B,kCAF0B,CAA9B;sBAIA,IAAMH,IAAI,GAAG,yBACTE,KAAK,CAACG,SAAN,CAAwC;wBACpCC,KAAK,EAAEC,mBAD6B;wBAEpCT,SAAS,EAAEN;sBAFyB,CAAxC,CADS,CAAb;;sBAOA,IAAIQ,IAAJ,EAAU;wBACNA,IAAI,CAACQ,WAAL,CAAiBC,SAAjB,CAA2BT,IAA3B,CAAgCU,OAAhC,CAAwC,UAAAC,IAAI,EAAI;0BAC5C,IAAIA,IAAI,CAACC,GAAL,KAAaR,WAAW,CAACQ,GAA7B,EAAkC;4BAC9BD,IAAI,CAACzB,IAAL,GAAYkB,WAAW,CAAClB,IAAxB;0BACH;wBACJ,CAJD;sBAKH;;sBAEDgB,KAAK,CAACW,UAAN,CAAiB;wBACbP,KAAK,EAAEC,mBADM;wBAEbT,SAAS,EAAEN,WAFE;wBAGbQ,IAAI,EAAEA;sBAHO,CAAjB;oBAKH;kBA/BwE,CAAvE,CANA;;gBAAA;kBAwCNZ,YAAY,CAAC,4BAAD,CAAZ;;gBAxCM;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;MAAA;IAJZ,GA+CK;MAAA,IAAG0B,IAAH,SAAGA,IAAH;MAAA,IAASC,MAAT,SAASA,MAAT;MAAA,oBACG,6BAAC,IAAD;QAAM,IAAI,EAAE,MAAZ;QAAoB,UAAU,EAAEC,sBAAA,CAAWC,MAAX,CAAkB,UAAlB;MAAhC,gBACI,6BAAC,YAAD;QACI,QAAQ,EAAE,CAAChC,OAAO,CAACD,IAAD,CADtB;QAEI,SAAS,MAFb;QAGI,WAAW,EAAE,YAHjB;QAII,SAAS,EAAE,IAJf;QAKI,MAAM,EAAE+B,MALZ;QAMI,WAAW,EAAE;MANjB,EADJ,CADH;IAAA,CA/CL,CADJ;EA8DH,CA/DmB,EA+DjB,CAAC7B,IAAD,EAAOF,IAAI,CAACE,IAAZ,EAAkBD,OAAlB,CA/DiB,CAApB;EAiEA,oBAAO,iDAAaQ,WAAb,CAAP;AACH,CAzED;;eA2EeV,I"}
1
+ {"version":3,"names":["Name","file","canEdit","name","useSnackbar","showSnackbar","client","useApolloClient","useFileManager","queryParams","editContent","useMemo","mutate","mutation","UPDATE_FILE","variables","id","data","update","cache","updated","newFileData","readQuery","query","LIST_FILES","fileManager","listFiles","forEach","item","src","writeQuery","Bind","submit","validation","create"],"sources":["Name.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { get, cloneDeep } from \"lodash\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { Input } from \"@webiny/ui/Input\";\nimport { Form } from \"@webiny/form\";\nimport { validation } from \"@webiny/validation\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport {\n UPDATE_FILE,\n LIST_FILES,\n UpdateFileMutationResponse,\n UpdateFileMutationVariables,\n ListFilesQueryResponse\n} from \"./../graphql\";\nimport { useFileManager } from \"./../FileManagerContext\";\nimport { FileItem } from \"../types\";\n\ninterface NameProps {\n file: FileItem;\n canEdit: (file: FileItem) => boolean;\n}\nconst Name: React.FC<NameProps> = ({ file, canEdit }) => {\n const name = file.name || \"\";\n const { showSnackbar } = useSnackbar();\n const client = useApolloClient();\n\n const { queryParams } = useFileManager();\n\n const editContent = useMemo(() => {\n return (\n <Form\n data={{\n name\n }}\n onSubmit={async ({ name }) => {\n // Bail out if name is same as the current file name.\n if (name === file.name) {\n return;\n }\n // Update file.\n await client.mutate<UpdateFileMutationResponse, UpdateFileMutationVariables>({\n mutation: UPDATE_FILE,\n variables: {\n id: file.id,\n data: { name }\n },\n update: (cache, updated) => {\n const newFileData = get(\n updated,\n \"data.fileManager.updateFile.data\"\n ) as unknown as FileItem;\n const data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n\n if (data) {\n data.fileManager.listFiles.data.forEach(item => {\n if (item.src === newFileData.src) {\n item.name = newFileData.name;\n }\n });\n }\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: data\n });\n }\n });\n\n showSnackbar(\"Name successfully updated.\");\n }}\n >\n {({ Bind, submit }) => (\n <Bind name={\"name\"} validators={validation.create(\"required\")}>\n <Input\n disabled={!canEdit(file)}\n autoFocus\n placeholder={\"Enter name\"}\n fullwidth={true}\n onBlur={submit}\n description={\"A descriptive name is easier to remember.\"}\n />\n </Bind>\n )}\n </Form>\n );\n }, [name, file.name, canEdit]);\n\n return <li-content>{editContent}</li-content>;\n};\n\nexport default Name;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAOA;;AAOA,IAAMA,IAAyB,GAAG,SAA5BA,IAA4B,OAAuB;EAAA,IAApBC,IAAoB,QAApBA,IAAoB;EAAA,IAAdC,OAAc,QAAdA,OAAc;EACrD,IAAMC,IAAI,GAAGF,IAAI,CAACE,IAAL,IAAa,EAA1B;;EACA,mBAAyB,IAAAC,yBAAA,GAAzB;EAAA,IAAQC,YAAR,gBAAQA,YAAR;;EACA,IAAMC,MAAM,GAAG,IAAAC,2BAAA,GAAf;;EAEA,sBAAwB,IAAAC,kCAAA,GAAxB;EAAA,IAAQC,WAAR,mBAAQA,WAAR;;EAEA,IAAMC,WAAW,GAAG,IAAAC,cAAA,EAAQ,YAAM;IAC9B,oBACI,6BAAC,UAAD;MACI,IAAI,EAAE;QACFR,IAAI,EAAJA;MADE,CADV;MAII,QAAQ;QAAA,mGAAE;UAAA;UAAA;YAAA;cAAA;gBAAA;kBAASA,IAAT,SAASA,IAAT;;kBAAA,MAEFA,IAAI,KAAKF,IAAI,CAACE,IAFZ;oBAAA;oBAAA;kBAAA;;kBAAA;;gBAAA;kBAAA;kBAAA,OAMAG,MAAM,CAACM,MAAP,CAAuE;oBACzEC,QAAQ,EAAEC,oBAD+D;oBAEzEC,SAAS,EAAE;sBACPC,EAAE,EAAEf,IAAI,CAACe,EADF;sBAEPC,IAAI,EAAE;wBAAEd,IAAI,EAAJA;sBAAF;oBAFC,CAF8D;oBAMzEe,MAAM,EAAE,gBAACC,KAAD,EAAQC,OAAR,EAAoB;sBACxB,IAAMC,WAAW,GAAG,mBAChBD,OADgB,EAEhB,kCAFgB,CAApB;sBAIA,IAAMH,IAAI,GAAG,yBACTE,KAAK,CAACG,SAAN,CAAwC;wBACpCC,KAAK,EAAEC,mBAD6B;wBAEpCT,SAAS,EAAEN;sBAFyB,CAAxC,CADS,CAAb;;sBAOA,IAAIQ,IAAJ,EAAU;wBACNA,IAAI,CAACQ,WAAL,CAAiBC,SAAjB,CAA2BT,IAA3B,CAAgCU,OAAhC,CAAwC,UAAAC,IAAI,EAAI;0BAC5C,IAAIA,IAAI,CAACC,GAAL,KAAaR,WAAW,CAACQ,GAA7B,EAAkC;4BAC9BD,IAAI,CAACzB,IAAL,GAAYkB,WAAW,CAAClB,IAAxB;0BACH;wBACJ,CAJD;sBAKH;;sBAEDgB,KAAK,CAACW,UAAN,CAAiB;wBACbP,KAAK,EAAEC,mBADM;wBAEbT,SAAS,EAAEN,WAFE;wBAGbQ,IAAI,EAAEA;sBAHO,CAAjB;oBAKH;kBA/BwE,CAAvE,CANA;;gBAAA;kBAwCNZ,YAAY,CAAC,4BAAD,CAAZ;;gBAxCM;gBAAA;kBAAA;cAAA;YAAA;UAAA;QAAA,CAAF;;QAAA;UAAA;QAAA;MAAA;IAJZ,GA+CK;MAAA,IAAG0B,IAAH,SAAGA,IAAH;MAAA,IAASC,MAAT,SAASA,MAAT;MAAA,oBACG,6BAAC,IAAD;QAAM,IAAI,EAAE,MAAZ;QAAoB,UAAU,EAAEC,sBAAA,CAAWC,MAAX,CAAkB,UAAlB;MAAhC,gBACI,6BAAC,YAAD;QACI,QAAQ,EAAE,CAAChC,OAAO,CAACD,IAAD,CADtB;QAEI,SAAS,MAFb;QAGI,WAAW,EAAE,YAHjB;QAII,SAAS,EAAE,IAJf;QAKI,MAAM,EAAE+B,MALZ;QAMI,WAAW,EAAE;MANjB,EADJ,CADH;IAAA,CA/CL,CADJ;EA8DH,CA/DmB,EA+DjB,CAAC7B,IAAD,EAAOF,IAAI,CAACE,IAAZ,EAAkBD,OAAlB,CA/DiB,CAApB;EAiEA,oBAAO,iDAAaQ,WAAb,CAAP;AACH,CAzED;;eA2EeV,I"}
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","style","draggingFeedback","css","position","top","left","width","height","opacity","background","zIndex","leftDrawer","header","textAlign","fontSize","padding","fontWeight","color","InputSearch","styled","backgroundColor","borderRadius","border","marginLeft","outline","searchIcon","FileListWrapper","float","display","FileList","gridTemplateColumns","marginBottom","renderFile","props","file","plugin","getFileTypePlugin","id","render","renderEmpty","hasPreviouslyUploadedFiles","browseFiles","fmFilePermission","FileManagerView","onClose","onChange","accept","multiple","maxSize","multipleMaxCount","multipleMaxSize","onUploadCompletion","useFileManager","selected","toggleSelected","dragging","setDragging","uploading","setUploading","showFileDetails","showingFileDetails","queryParams","setQueryParams","setHasPreviouslyUploadedFiles","useSnackbar","showSnackbar","useSecurity","identity","getPermission","useMemo","canCreate","own","rwd","includes","canEdit","useCallback","item","creatorId","get","identityId","login","searchOnChange","debounce","search","toggleTag","tag","finalTags","Array","isArray","tags","splice","indexOf","push","getFileUploadErrorMessage","e","match","message","updateCacheAfterCreateFile","cache","newFile","newFileData","data","readQuery","query","LIST_FILES","variables","writeQuery","fileManager","listFiles","getFileDetailsFile","src","list","find","useHotkeys","keys","esc","searchInput","useRef","apolloClient","useApolloClient","gqlQuery","useQuery","onCompleted","response","length","refreshOnScroll","scrollFrame","fetchMore","cursor","after","updateQuery","prev","result","fetchMoreResult","next","loading","useMutation","CREATE_FILE","update","createFile","uploadFile","files","errors","uploadedFiles","Promise","all","map","getFileUploader","scope","createFileResponse","setTimeout","name","renderUploadFileAction","settingsQuery","GET_FILE_SETTINGS","settings","uploadMaxFileSize","filter","Boolean","console","log","outputFileSelectionError","getDropZoneProps","validateFiles","onDragEnter","onExited","target","value","current","onSelect","defaultProps"],"sources":["FileManagerView.tsx"],"sourcesContent":["import React, { useRef, useCallback, useMemo } from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport Files, { FilesRenderChildren } from \"react-butterfiles\";\nimport { ButtonPrimary, ButtonIcon } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport File, { FileProps } from \"./File\";\nimport { useQuery, useMutation, useApolloClient } from \"@apollo/react-hooks\";\nimport { FilesRules } from \"react-butterfiles\";\nimport {\n LIST_FILES,\n CREATE_FILE,\n GET_FILE_SETTINGS,\n CreateFileMutationVariables,\n CreateFileMutationResponse,\n ListFilesQueryResponse,\n ListFilesQueryVariables\n} from \"./graphql\";\nimport getFileTypePlugin from \"./getFileTypePlugin\";\nimport get from \"lodash/get\";\nimport debounce from \"lodash/debounce\";\nimport getFileUploader from \"./getFileUploader\";\nimport { outputFileSelectionError } from \"./outputFileSelectionError\";\nimport DropFilesHere from \"./DropFilesHere\";\nimport NoResults from \"./NoResults\";\nimport FileDetails from \"./FileDetails\";\nimport LeftSidebar from \"./LeftSidebar\";\nimport BottomInfoBar from \"./BottomInfoBar\";\nimport { OverlayLayout } from \"../OverlayLayout\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSecurity } from \"@webiny/app-security\";\n/**\n * Package react-hotkeyz is missing types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { useFileManager } from \"./FileManagerContext\";\nimport { ReactComponent as SearchIcon } from \"./icons/round-search-24px.svg\";\nimport { ReactComponent as UploadIcon } from \"./icons/round-cloud_upload-24px.svg\";\nimport NoPermissionView from \"./NoPermissionView\";\nimport { FileItem, FileManagerSecurityPermission } from \"~/components/FileManager/types\";\nimport { MutationUpdaterFn } from \"apollo-client/core/watchQueryOptions\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { ObservableQueryFields } from \"@apollo/react-common/lib/types/types\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-manager-view\");\n\nconst style = {\n draggingFeedback: css({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n opacity: 0.5,\n background: \"white\",\n zIndex: 100\n }),\n leftDrawer: {\n header: css({\n textAlign: \"center\",\n fontSize: 18,\n padding: 10,\n fontWeight: 600,\n color: \"var(--mdc-theme-on-surface)\"\n })\n }\n};\n\nconst InputSearch = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-on-background)\",\n position: \"relative\",\n height: 32,\n padding: 3,\n width: \"100%\",\n borderRadius: 2,\n \"> input\": {\n border: \"none\",\n fontSize: 14,\n width: \"calc(100% - 10px)\",\n height: \"100%\",\n marginLeft: 50,\n backgroundColor: \"transparent\",\n outline: \"none\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\nconst searchIcon = css({\n \"&.mdc-button__icon\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n position: \"absolute\",\n width: 24,\n height: 24,\n left: 15,\n top: 7\n }\n});\n\nconst FileListWrapper = styled(\"div\")({\n float: \"right\",\n display: \"inline-block\",\n width: \"calc(100vw - 270px)\",\n height: \"100%\"\n});\n\nconst FileList = styled(\"div\")({\n width: \"100%\",\n display: \"grid\",\n /* define the number of grid columns */\n gridTemplateColumns: \"repeat( auto-fill, minmax(220px, 1fr) )\",\n marginBottom: 95\n});\n\nexport interface FileManagerViewProps {\n onChange?: Function;\n onClose?: Function;\n files?: FilesRules;\n multiple?: boolean; // Does not affect <Files> component, it always allows multiple selection.\n accept: Array<string>;\n maxSize?: number | string;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onUploadCompletion?: Function;\n tags?: string[];\n scope?: string;\n own?: boolean;\n}\n\ninterface RenderFileProps extends Omit<FileProps, \"children\"> {\n file: FileItem;\n children?: React.ReactNode;\n}\nconst renderFile: React.FC<RenderFileProps> = props => {\n const { file } = props;\n const plugin = getFileTypePlugin(file);\n if (!plugin) {\n return null;\n }\n return (\n <File {...props} key={file.id}>\n {plugin.render({\n /**\n * TODO @ts-refactor\n */\n // @ts-ignore\n file\n })}\n </File>\n );\n};\ninterface RenderEmptyProps {\n hasPreviouslyUploadedFiles: boolean;\n browseFiles: FilesRenderChildren[\"browseFiles\"];\n fmFilePermission: SecurityPermission | null;\n}\nconst renderEmpty: React.FC<RenderEmptyProps> = ({\n hasPreviouslyUploadedFiles,\n browseFiles,\n fmFilePermission\n}) => {\n if (!fmFilePermission) {\n return <NoPermissionView />;\n }\n if (hasPreviouslyUploadedFiles) {\n return <NoResults />;\n }\n return <DropFilesHere empty onClick={() => browseFiles()} />;\n};\n\ninterface RefreshOnScrollParams {\n fetchMore: ObservableQueryFields<ListFilesQueryResponse, ListFilesQueryVariables>[\"fetchMore\"];\n scrollFrame: {\n top: number;\n };\n}\n\ninterface FileError {\n file: FileItem;\n e: Error;\n}\n\ninterface GetFileDetailsFileParams {\n src: string;\n list: FileItem[];\n}\n\nconst FileManagerView: React.FC<FileManagerViewProps> = props => {\n const {\n onClose,\n onChange,\n accept,\n multiple = false,\n maxSize,\n multipleMaxCount,\n multipleMaxSize,\n onUploadCompletion\n } = props;\n\n const {\n selected,\n toggleSelected,\n dragging,\n setDragging,\n uploading,\n setUploading,\n showFileDetails,\n showingFileDetails,\n queryParams,\n setQueryParams,\n hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles\n } = useFileManager();\n const { showSnackbar } = useSnackbar();\n\n const { identity, getPermission } = useSecurity();\n const fmFilePermission = useMemo((): FileManagerSecurityPermission | null => {\n return getPermission<FileManagerSecurityPermission>(\"fm.file\");\n }, [identity]);\n const canCreate = useMemo(() => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n\n if (fmFilePermission.own) {\n return true;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n }, [fmFilePermission]);\n const canEdit = useCallback(\n item => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n const creatorId = get(item, \"createdBy.id\");\n\n if (fmFilePermission.own && creatorId) {\n const identityId = identity ? identity.id || identity.login : null;\n return creatorId === identityId;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n },\n [fmFilePermission]\n );\n\n const searchOnChange = useCallback(\n // @ts-ignore\n debounce(search => setQueryParams({ search }), 500),\n []\n );\n\n const toggleTag = useCallback(async ({ tag, queryParams }) => {\n const finalTags = Array.isArray(queryParams.tags) ? [...queryParams.tags] : [];\n\n if (finalTags.includes(tag)) {\n finalTags.splice(finalTags.indexOf(tag), 1);\n } else {\n finalTags.push(tag);\n }\n\n setQueryParams({ ...queryParams, tags: finalTags });\n }, []);\n\n const getFileUploadErrorMessage = useCallback(e => {\n if (typeof e === \"string\") {\n const match = e.match(/Message>(.*?)<\\/Message/);\n if (match) {\n const [, message] = match;\n return message;\n }\n\n return e;\n }\n return e.message;\n }, []);\n\n const updateCacheAfterCreateFile: MutationUpdaterFn<CreateFileMutationResponse> = (\n cache,\n newFile\n ) => {\n const newFileData = get(newFile, \"data.fileManager.createFile.data\");\n\n const data = cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n });\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: {\n fileManager: {\n ...(data?.fileManager || {}),\n listFiles: {\n ...(data?.fileManager || {}).listFiles,\n data: [newFileData, ...((data?.fileManager?.listFiles || {}).data || [])]\n }\n }\n }\n });\n };\n\n const getFileDetailsFile = useCallback(({ src, list }: GetFileDetailsFileParams): FileItem => {\n return list.find(item => item.src === src) as FileItem;\n }, []);\n\n useHotkeys({\n zIndex: 50,\n keys: {\n esc: onClose\n }\n });\n\n const searchInput = useRef<HTMLInputElement>(null);\n\n const apolloClient = useApolloClient();\n\n const gqlQuery = useQuery<ListFilesQueryResponse, ListFilesQueryVariables>(LIST_FILES, {\n variables: queryParams,\n onCompleted: response => {\n const list = get(response, \"fileManager.listFiles.data\") || [];\n if (hasPreviouslyUploadedFiles === null) {\n setHasPreviouslyUploadedFiles(list.length > 0);\n }\n }\n });\n\n const refreshOnScroll = useCallback(\n debounce(({ scrollFrame, fetchMore }: RefreshOnScrollParams) => {\n if (scrollFrame.top > 0.9) {\n const cursor = get(gqlQuery.data, \"fileManager.listFiles.meta.cursor\");\n if (cursor) {\n fetchMore({\n variables: { after: cursor },\n updateQuery: (\n prev: ListFilesQueryResponse,\n result: { fetchMoreResult?: ListFilesQueryResponse }\n ) => {\n const { fetchMoreResult } = result;\n if (!fetchMoreResult) {\n return prev;\n }\n\n const next = { ...fetchMoreResult };\n\n next.fileManager.listFiles.data = [\n ...prev.fileManager.listFiles.data,\n ...fetchMoreResult.fileManager.listFiles.data\n ];\n\n return next;\n }\n });\n }\n }\n }, 500),\n [gqlQuery]\n );\n\n const { data, fetchMore, loading } = gqlQuery;\n\n const list: FileItem[] = get(data, \"fileManager.listFiles.data\") || [];\n const [createFile] = useMutation<CreateFileMutationResponse, CreateFileMutationVariables>(\n CREATE_FILE,\n {\n update: updateCacheAfterCreateFile\n }\n );\n const uploadFile = async (files: FileItem[] | FileItem): Promise<number | null> => {\n setUploading(true);\n const list: FileItem[] = Array.isArray(files) ? files : [files];\n\n const errors: FileError[] = [];\n const uploadedFiles: FileItem[] = [];\n await Promise.all(\n list.map(async file => {\n try {\n const response = await getFileUploader()(file, { apolloClient });\n /**\n * Add \"tags\" while creating the new file.\n */\n const createFileResponse = await createFile({\n variables: {\n data: {\n ...response,\n tags: queryParams.scope ? [queryParams.scope] : []\n }\n }\n });\n // Save create file data for later\n uploadedFiles.push(get(createFileResponse, \"data.fileManager.createFile.data\"));\n } catch (e) {\n errors.push({ file, e });\n }\n })\n );\n\n if (!hasPreviouslyUploadedFiles) {\n setHasPreviouslyUploadedFiles(true);\n }\n\n setUploading(false);\n\n if (errors.length > 0) {\n // We wait 750ms, just for everything to settle down a bit.\n return setTimeout(() => {\n showSnackbar(\n <>\n {t`One or more files were not uploaded successfully:`}\n <ol>\n {errors.map(({ file, e }) => (\n <li key={file.name}>\n <strong>{file.name}</strong>: {getFileUploadErrorMessage(e)}\n </li>\n ))}\n </ol>\n </>\n );\n // TODO @ts-refactor\n }, 750) as unknown as number;\n }\n\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => showSnackbar(t`File upload complete.`), 750);\n if (typeof onUploadCompletion === \"function\") {\n // We wait 750ms, just for everything to settle down a bit.\n return setTimeout(() => {\n onUploadCompletion(uploadedFiles);\n onClose && onClose();\n // TODO @ts-refactor\n }, 750) as unknown as number;\n }\n return null;\n };\n\n const renderUploadFileAction = useCallback(\n ({ browseFiles }) => {\n if (!canCreate) {\n return null;\n }\n return (\n <ButtonPrimary onClick={browseFiles} disabled={uploading}>\n <ButtonIcon icon={<UploadIcon />} />\n {t`Upload...`}\n </ButtonPrimary>\n );\n },\n [uploading, canCreate]\n );\n\n const settingsQuery = useQuery(GET_FILE_SETTINGS);\n const settings = get(settingsQuery.data, \"fileManager.getSettings.data\") || {};\n return (\n <Files\n multiple\n maxSize={settings.uploadMaxFileSize ? settings.uploadMaxFileSize + \"b\" : maxSize}\n multipleMaxSize={multipleMaxSize}\n multipleMaxCount={multipleMaxCount}\n accept={accept}\n onSuccess={files => {\n uploadFile(files.map(file => file.src.file as FileItem).filter(Boolean));\n }}\n onError={errors => {\n console.log(\"onError\", errors);\n /**\n * TODO @ts-refactor\n * Figure out if incoming errors var is wrong or the one in the outputFileSelectionError\n */\n // @ts-ignore\n const message = outputFileSelectionError(errors);\n showSnackbar(message);\n }}\n >\n {({ getDropZoneProps, browseFiles, validateFiles }) => (\n <OverlayLayout\n {...getDropZoneProps({\n onDragEnter: () => hasPreviouslyUploadedFiles && setDragging(true),\n onExited: onClose\n })}\n barLeft={\n <InputSearch>\n <Icon className={searchIcon} icon={<SearchIcon />} />\n <input\n ref={searchInput}\n onChange={e => searchOnChange(e.target.value)}\n placeholder={t`Search by filename or tags`}\n disabled={!fmFilePermission}\n data-testid={\"file-manager.search-input\"}\n />\n </InputSearch>\n }\n barRight={\n selected.length > 0 ? (\n <ButtonPrimary\n disabled={uploading}\n onClick={() => {\n (async () => {\n if (typeof onChange === \"function\") {\n await onChange(multiple ? selected : selected[0]);\n\n onClose && onClose();\n }\n })();\n }}\n >\n {t`Select`} {multiple && `(${selected.length})`}\n </ButtonPrimary>\n ) : (\n renderUploadFileAction({ browseFiles })\n )\n }\n >\n <>\n {dragging && hasPreviouslyUploadedFiles && (\n <DropFilesHere\n // @ts-ignore TODO: @adrian - className is never rendered?!\n className={style.draggingFeedback}\n onDragLeave={() => setDragging(false)}\n onDrop={() => setDragging(false)}\n />\n )}\n\n <FileDetails\n validateFiles={validateFiles}\n uploadFile={uploadFile}\n file={getFileDetailsFile({\n list,\n src: showingFileDetails\n })}\n canEdit={canEdit}\n />\n\n <LeftSidebar\n queryParams={queryParams}\n toggleTag={tag => toggleTag({ tag, queryParams })}\n />\n\n <FileListWrapper data-testid={\"fm-list-wrapper\"}>\n {loading && (\n <CircularProgress\n label={t`Loading Files...`}\n style={{ opacity: 1 }}\n />\n )}\n <Scrollbar\n onScrollFrame={scrollFrame =>\n refreshOnScroll({\n scrollFrame,\n fetchMore\n })\n }\n >\n <FileList>\n {list.length\n ? list.map(file =>\n renderFile({\n uploadFile,\n file,\n showFileDetails: () => showFileDetails(file.src),\n selected: selected.find(\n (current: FileItem) =>\n current.src === file.src\n ),\n onSelect: async () => {\n if (typeof onChange === \"function\") {\n if (multiple) {\n toggleSelected(file);\n return;\n }\n\n await onChange(file);\n onClose && onClose();\n }\n }\n })\n )\n : renderEmpty({\n hasPreviouslyUploadedFiles,\n browseFiles,\n fmFilePermission\n })}\n </FileList>\n </Scrollbar>\n <BottomInfoBar accept={accept} uploading={uploading} />\n </FileListWrapper>\n </>\n </OverlayLayout>\n )}\n </Files>\n );\n};\n\nFileManagerView.defaultProps = {\n multiple: false,\n maxSize: \"1000mb\",\n multipleMaxSize: \"1000mb\",\n multipleMaxCount: 100\n};\n\nexport default FileManagerView;\n"],"mappings":"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"}
1
+ {"version":3,"names":["t","i18n","ns","style","draggingFeedback","css","position","top","left","width","height","opacity","background","zIndex","leftDrawer","header","textAlign","fontSize","padding","fontWeight","color","InputSearch","styled","backgroundColor","borderRadius","border","marginLeft","outline","searchIcon","FileListWrapper","float","display","FileList","gridTemplateColumns","marginBottom","renderFile","props","file","plugin","getFileTypePlugin","id","render","renderEmpty","hasPreviouslyUploadedFiles","browseFiles","fmFilePermission","FileManagerView","onClose","onChange","accept","multiple","maxSize","multipleMaxCount","multipleMaxSize","onUploadCompletion","useFileManager","selected","toggleSelected","dragging","setDragging","uploading","setUploading","showFileDetails","showingFileDetails","queryParams","setQueryParams","setHasPreviouslyUploadedFiles","useSnackbar","showSnackbar","useSecurity","identity","getPermission","useMemo","canCreate","own","rwd","includes","canEdit","useCallback","item","creatorId","get","identityId","login","searchOnChange","debounce","search","toggleTag","tag","finalTags","Array","isArray","tags","splice","indexOf","push","getFileUploadErrorMessage","e","match","message","updateCacheAfterCreateFile","cache","newFile","newFileData","data","readQuery","query","LIST_FILES","variables","writeQuery","fileManager","listFiles","getFileDetailsFile","src","list","find","useHotkeys","keys","esc","searchInput","useRef","apolloClient","useApolloClient","gqlQuery","useQuery","onCompleted","response","length","refreshOnScroll","scrollFrame","fetchMore","cursor","after","updateQuery","prev","result","fetchMoreResult","next","loading","useMutation","CREATE_FILE","update","createFile","uploadFile","files","errors","uploadedFiles","Promise","all","map","getFileUploader","scope","createFileResponse","setTimeout","name","renderUploadFileAction","settingsQuery","GET_FILE_SETTINGS","settings","uploadMaxFileSize","filter","Boolean","console","log","outputFileSelectionError","getDropZoneProps","validateFiles","onDragEnter","onExited","target","value","current","onSelect","defaultProps"],"sources":["FileManagerView.tsx"],"sourcesContent":["import React, { useRef, useCallback, useMemo } from \"react\";\nimport { css } from \"emotion\";\nimport styled from \"@emotion/styled\";\nimport Files, { FilesRenderChildren } from \"react-butterfiles\";\nimport { ButtonPrimary, ButtonIcon } from \"@webiny/ui/Button\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport File, { FileProps } from \"./File\";\nimport { useQuery, useMutation, useApolloClient } from \"@apollo/react-hooks\";\nimport { FilesRules } from \"react-butterfiles\";\nimport {\n LIST_FILES,\n CREATE_FILE,\n GET_FILE_SETTINGS,\n CreateFileMutationVariables,\n CreateFileMutationResponse,\n ListFilesQueryResponse,\n ListFilesQueryVariables\n} from \"./graphql\";\nimport getFileTypePlugin from \"./getFileTypePlugin\";\nimport get from \"lodash/get\";\nimport debounce from \"lodash/debounce\";\nimport getFileUploader from \"./getFileUploader\";\nimport { outputFileSelectionError } from \"./outputFileSelectionError\";\nimport DropFilesHere from \"./DropFilesHere\";\nimport NoResults from \"./NoResults\";\nimport FileDetails from \"./FileDetails\";\nimport LeftSidebar from \"./LeftSidebar\";\nimport BottomInfoBar from \"./BottomInfoBar\";\nimport { OverlayLayout } from \"../OverlayLayout\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport { useSecurity } from \"@webiny/app-security\";\n/**\n * Package react-hotkeyz is missing types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { useFileManager } from \"./FileManagerContext\";\nimport { ReactComponent as SearchIcon } from \"./icons/round-search-24px.svg\";\nimport { ReactComponent as UploadIcon } from \"./icons/round-cloud_upload-24px.svg\";\nimport NoPermissionView from \"./NoPermissionView\";\nimport { FileItem, FileManagerSecurityPermission } from \"~/components/FileManager/types\";\nimport { MutationUpdaterFn } from \"apollo-client/core/watchQueryOptions\";\nimport { SecurityPermission } from \"@webiny/app-security/types\";\nimport { ObservableQueryFields } from \"@apollo/react-common/lib/types/types\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-manager-view\");\n\nconst style = {\n draggingFeedback: css({\n position: \"fixed\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n opacity: 0.5,\n background: \"white\",\n zIndex: 100\n }),\n leftDrawer: {\n header: css({\n textAlign: \"center\",\n fontSize: 18,\n padding: 10,\n fontWeight: 600,\n color: \"var(--mdc-theme-on-surface)\"\n })\n }\n};\n\nconst InputSearch = styled(\"div\")({\n backgroundColor: \"var(--mdc-theme-on-background)\",\n position: \"relative\",\n height: 32,\n padding: 3,\n width: \"100%\",\n borderRadius: 2,\n \"> input\": {\n border: \"none\",\n fontSize: 14,\n width: \"calc(100% - 10px)\",\n height: \"100%\",\n marginLeft: 50,\n backgroundColor: \"transparent\",\n outline: \"none\",\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\nconst searchIcon = css({\n \"&.mdc-button__icon\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n position: \"absolute\",\n width: 24,\n height: 24,\n left: 15,\n top: 7\n }\n});\n\nconst FileListWrapper = styled(\"div\")({\n float: \"right\",\n display: \"inline-block\",\n width: \"calc(100vw - 270px)\",\n height: \"100%\"\n});\n\nconst FileList = styled(\"div\")({\n width: \"100%\",\n display: \"grid\",\n /* define the number of grid columns */\n gridTemplateColumns: \"repeat( auto-fill, minmax(220px, 1fr) )\",\n marginBottom: 95\n});\n\nexport interface FileManagerViewProps {\n onChange?: Function;\n onClose?: Function;\n files?: FilesRules;\n multiple?: boolean; // Does not affect <Files> component, it always allows multiple selection.\n accept: Array<string>;\n maxSize?: number | string;\n multipleMaxCount?: number;\n multipleMaxSize?: number | string;\n onUploadCompletion?: Function;\n tags?: string[];\n scope?: string;\n own?: boolean;\n}\n\ninterface RenderFileProps extends Omit<FileProps, \"children\"> {\n file: FileItem;\n children?: React.ReactNode;\n}\nconst renderFile: React.FC<RenderFileProps> = props => {\n const { file } = props;\n const plugin = getFileTypePlugin(file);\n if (!plugin) {\n return null;\n }\n return (\n <File {...props} key={file.id}>\n {plugin.render({\n /**\n * TODO @ts-refactor\n */\n // @ts-ignore\n file\n })}\n </File>\n );\n};\ninterface RenderEmptyProps {\n hasPreviouslyUploadedFiles: boolean;\n browseFiles: FilesRenderChildren[\"browseFiles\"];\n fmFilePermission: SecurityPermission | null;\n}\nconst renderEmpty: React.FC<RenderEmptyProps> = ({\n hasPreviouslyUploadedFiles,\n browseFiles,\n fmFilePermission\n}) => {\n if (!fmFilePermission) {\n return <NoPermissionView />;\n }\n if (hasPreviouslyUploadedFiles) {\n return <NoResults />;\n }\n return <DropFilesHere empty onClick={() => browseFiles()} />;\n};\n\ninterface RefreshOnScrollParams {\n fetchMore: ObservableQueryFields<ListFilesQueryResponse, ListFilesQueryVariables>[\"fetchMore\"];\n scrollFrame: {\n top: number;\n };\n}\n\ninterface FileError {\n file: FileItem;\n e: Error;\n}\n\ninterface GetFileDetailsFileParams {\n src: string;\n list: FileItem[];\n}\n\nconst FileManagerView: React.FC<FileManagerViewProps> = props => {\n const {\n onClose,\n onChange,\n accept,\n multiple = false,\n maxSize,\n multipleMaxCount,\n multipleMaxSize,\n onUploadCompletion\n } = props;\n\n const {\n selected,\n toggleSelected,\n dragging,\n setDragging,\n uploading,\n setUploading,\n showFileDetails,\n showingFileDetails,\n queryParams,\n setQueryParams,\n hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles\n } = useFileManager();\n const { showSnackbar } = useSnackbar();\n\n const { identity, getPermission } = useSecurity();\n const fmFilePermission = useMemo((): FileManagerSecurityPermission | null => {\n return getPermission<FileManagerSecurityPermission>(\"fm.file\");\n }, [identity]);\n const canCreate = useMemo(() => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n\n if (fmFilePermission.own) {\n return true;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n }, [fmFilePermission]);\n const canEdit = useCallback(\n item => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n const creatorId = get(item, \"createdBy.id\");\n\n if (fmFilePermission.own && creatorId) {\n const identityId = identity ? identity.id || identity.login : null;\n return creatorId === identityId;\n }\n\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"w\");\n }\n\n return true;\n },\n [fmFilePermission]\n );\n\n const searchOnChange = useCallback(\n // @ts-ignore\n debounce(search => setQueryParams({ search }), 500),\n []\n );\n\n const toggleTag = useCallback(async ({ tag, queryParams }) => {\n const finalTags = Array.isArray(queryParams.tags) ? [...queryParams.tags] : [];\n\n if (finalTags.includes(tag)) {\n finalTags.splice(finalTags.indexOf(tag), 1);\n } else {\n finalTags.push(tag);\n }\n\n setQueryParams({ ...queryParams, tags: finalTags });\n }, []);\n\n const getFileUploadErrorMessage = useCallback(e => {\n if (typeof e === \"string\") {\n const match = e.match(/Message>(.*?)<\\/Message/);\n if (match) {\n const [, message] = match;\n return message;\n }\n\n return e;\n }\n return e.message;\n }, []);\n\n const updateCacheAfterCreateFile: MutationUpdaterFn<CreateFileMutationResponse> = (\n cache,\n newFile\n ) => {\n const newFileData = get(newFile, \"data.fileManager.createFile.data\");\n\n const data = cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n });\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: {\n fileManager: {\n ...(data?.fileManager || {}),\n listFiles: {\n ...(data?.fileManager || {}).listFiles,\n data: [newFileData, ...((data?.fileManager?.listFiles || {}).data || [])]\n }\n }\n }\n });\n };\n\n const getFileDetailsFile = useCallback(({ src, list }: GetFileDetailsFileParams): FileItem => {\n return list.find(item => item.src === src) as FileItem;\n }, []);\n\n useHotkeys({\n zIndex: 50,\n keys: {\n esc: onClose\n }\n });\n\n const searchInput = useRef<HTMLInputElement>(null);\n\n const apolloClient = useApolloClient();\n\n const gqlQuery = useQuery<ListFilesQueryResponse, ListFilesQueryVariables>(LIST_FILES, {\n variables: queryParams,\n onCompleted: response => {\n const list = get(response, \"fileManager.listFiles.data\") || [];\n if (hasPreviouslyUploadedFiles === null) {\n setHasPreviouslyUploadedFiles(list.length > 0);\n }\n }\n });\n\n const refreshOnScroll = useCallback(\n debounce(({ scrollFrame, fetchMore }: RefreshOnScrollParams) => {\n if (scrollFrame.top > 0.9) {\n const cursor = get(gqlQuery.data, \"fileManager.listFiles.meta.cursor\");\n if (cursor) {\n fetchMore({\n variables: { after: cursor },\n updateQuery: (\n prev: ListFilesQueryResponse,\n result: { fetchMoreResult?: ListFilesQueryResponse }\n ) => {\n const { fetchMoreResult } = result;\n if (!fetchMoreResult) {\n return prev;\n }\n\n const next = { ...fetchMoreResult };\n\n next.fileManager.listFiles.data = [\n ...prev.fileManager.listFiles.data,\n ...fetchMoreResult.fileManager.listFiles.data\n ];\n\n return next;\n }\n });\n }\n }\n }, 500),\n [gqlQuery]\n );\n\n const { data, fetchMore, loading } = gqlQuery;\n\n const list: FileItem[] = get(data, \"fileManager.listFiles.data\") || [];\n const [createFile] = useMutation<CreateFileMutationResponse, CreateFileMutationVariables>(\n CREATE_FILE,\n {\n update: updateCacheAfterCreateFile\n }\n );\n const uploadFile = async (files: FileItem[] | FileItem): Promise<number | null> => {\n setUploading(true);\n const list: FileItem[] = Array.isArray(files) ? files : [files];\n\n const errors: FileError[] = [];\n const uploadedFiles: FileItem[] = [];\n await Promise.all(\n list.map(async file => {\n try {\n const response = await getFileUploader()(file, { apolloClient });\n /**\n * Add \"tags\" while creating the new file.\n */\n const createFileResponse = await createFile({\n variables: {\n data: {\n ...response,\n tags: queryParams.scope ? [queryParams.scope] : []\n }\n }\n });\n // Save create file data for later\n uploadedFiles.push(\n get(\n createFileResponse,\n \"data.fileManager.createFile.data\"\n ) as unknown as FileItem\n );\n } catch (e) {\n errors.push({ file, e });\n }\n })\n );\n\n if (!hasPreviouslyUploadedFiles) {\n setHasPreviouslyUploadedFiles(true);\n }\n\n setUploading(false);\n\n if (errors.length > 0) {\n // We wait 750ms, just for everything to settle down a bit.\n return setTimeout(() => {\n showSnackbar(\n <>\n {t`One or more files were not uploaded successfully:`}\n <ol>\n {errors.map(({ file, e }) => (\n <li key={file.name}>\n <strong>{file.name}</strong>: {getFileUploadErrorMessage(e)}\n </li>\n ))}\n </ol>\n </>\n );\n // TODO @ts-refactor\n }, 750) as unknown as number;\n }\n\n // We wait 750ms, just for everything to settle down a bit.\n setTimeout(() => showSnackbar(t`File upload complete.`), 750);\n if (typeof onUploadCompletion === \"function\") {\n // We wait 750ms, just for everything to settle down a bit.\n return setTimeout(() => {\n onUploadCompletion(uploadedFiles);\n onClose && onClose();\n // TODO @ts-refactor\n }, 750) as unknown as number;\n }\n return null;\n };\n\n const renderUploadFileAction = useCallback(\n ({ browseFiles }) => {\n if (!canCreate) {\n return null;\n }\n return (\n <ButtonPrimary onClick={browseFiles} disabled={uploading}>\n <ButtonIcon icon={<UploadIcon />} />\n {t`Upload...`}\n </ButtonPrimary>\n );\n },\n [uploading, canCreate]\n );\n\n const settingsQuery = useQuery(GET_FILE_SETTINGS);\n const settings = get(settingsQuery.data, \"fileManager.getSettings.data\") || {};\n return (\n <Files\n multiple\n maxSize={settings.uploadMaxFileSize ? settings.uploadMaxFileSize + \"b\" : maxSize}\n multipleMaxSize={multipleMaxSize}\n multipleMaxCount={multipleMaxCount}\n accept={accept}\n onSuccess={files => {\n uploadFile(files.map(file => file.src.file as FileItem).filter(Boolean));\n }}\n onError={errors => {\n console.log(\"onError\", errors);\n /**\n * TODO @ts-refactor\n * Figure out if incoming errors var is wrong or the one in the outputFileSelectionError\n */\n // @ts-ignore\n const message = outputFileSelectionError(errors);\n showSnackbar(message);\n }}\n >\n {({ getDropZoneProps, browseFiles, validateFiles }) => (\n <OverlayLayout\n {...getDropZoneProps({\n onDragEnter: () => hasPreviouslyUploadedFiles && setDragging(true),\n onExited: onClose\n })}\n barLeft={\n <InputSearch>\n <Icon className={searchIcon} icon={<SearchIcon />} />\n <input\n ref={searchInput}\n onChange={e => searchOnChange(e.target.value)}\n placeholder={t`Search by filename or tags`}\n disabled={!fmFilePermission}\n data-testid={\"file-manager.search-input\"}\n />\n </InputSearch>\n }\n barRight={\n selected.length > 0 ? (\n <ButtonPrimary\n disabled={uploading}\n onClick={() => {\n (async () => {\n if (typeof onChange === \"function\") {\n await onChange(multiple ? selected : selected[0]);\n\n onClose && onClose();\n }\n })();\n }}\n >\n {t`Select`} {multiple && `(${selected.length})`}\n </ButtonPrimary>\n ) : (\n renderUploadFileAction({ browseFiles })\n )\n }\n >\n <>\n {dragging && hasPreviouslyUploadedFiles && (\n <DropFilesHere\n // @ts-ignore TODO: @adrian - className is never rendered?!\n className={style.draggingFeedback}\n onDragLeave={() => setDragging(false)}\n onDrop={() => setDragging(false)}\n />\n )}\n\n <FileDetails\n validateFiles={validateFiles}\n uploadFile={uploadFile}\n file={getFileDetailsFile({\n list,\n src: showingFileDetails\n })}\n canEdit={canEdit}\n />\n\n <LeftSidebar\n queryParams={queryParams}\n toggleTag={tag => toggleTag({ tag, queryParams })}\n />\n\n <FileListWrapper data-testid={\"fm-list-wrapper\"}>\n {loading && (\n <CircularProgress\n label={t`Loading Files...`}\n style={{ opacity: 1 }}\n />\n )}\n <Scrollbar\n onScrollFrame={scrollFrame =>\n refreshOnScroll({\n scrollFrame,\n fetchMore\n })\n }\n >\n <FileList>\n {list.length\n ? list.map(file =>\n renderFile({\n uploadFile,\n file,\n showFileDetails: () => showFileDetails(file.src),\n selected: selected.find(\n (current: FileItem) =>\n current.src === file.src\n ),\n onSelect: async () => {\n if (typeof onChange === \"function\") {\n if (multiple) {\n toggleSelected(file);\n return;\n }\n\n await onChange(file);\n onClose && onClose();\n }\n }\n })\n )\n : renderEmpty({\n hasPreviouslyUploadedFiles,\n browseFiles,\n fmFilePermission\n })}\n </FileList>\n </Scrollbar>\n <BottomInfoBar accept={accept} uploading={uploading} />\n </FileListWrapper>\n </>\n </OverlayLayout>\n )}\n </Files>\n );\n};\n\nFileManagerView.defaultProps = {\n multiple: false,\n maxSize: \"1000mb\",\n multipleMaxSize: \"1000mb\",\n multipleMaxCount: 100\n};\n\nexport default FileManagerView;\n"],"mappings":"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"}
@@ -29,7 +29,7 @@ var PermissionInfo = function PermissionInfo(_ref) {
29
29
  return /*#__PURE__*/_react.default.createElement("div", {
30
30
  className: flexClass
31
31
  }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
32
- use: "subtitle2"
32
+ use: "body2"
33
33
  }, title));
34
34
  };
35
35
 
@@ -1 +1 @@
1
- {"version":3,"names":["flexClass","css","display","alignItems","height","gridNoPaddingClass","padding","PermissionInfo","title"],"sources":["StyledComponents.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nexport const flexClass = css({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\"\n});\n\nexport const gridNoPaddingClass = css({\n padding: \"0px !important\"\n});\n\ninterface PermissionInfoProps {\n title: string;\n}\nexport const PermissionInfo: React.FC<PermissionInfoProps> = ({ title }) => (\n <div className={flexClass}>\n <Typography use={\"subtitle2\"}>{title}</Typography>\n </div>\n);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,SAAS,gBAAG,IAAAC,YAAA,EAAI;EACzBC,OAAO,EAAE,MADgB;EAEzBC,UAAU,EAAE,QAFa;EAGzBC,MAAM,EAAE;AAHiB,CAAJ,qBAAlB;;AAMA,IAAMC,kBAAkB,gBAAG,IAAAJ,YAAA,EAAI;EAClCK,OAAO,EAAE;AADyB,CAAJ,8BAA3B;;;AAOA,IAAMC,cAA6C,GAAG,SAAhDA,cAAgD;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,oBACzD;IAAK,SAAS,EAAER;EAAhB,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA+BQ,KAA/B,CADJ,CADyD;AAAA,CAAtD"}
1
+ {"version":3,"names":["flexClass","css","display","alignItems","height","gridNoPaddingClass","padding","PermissionInfo","title"],"sources":["StyledComponents.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport { Typography } from \"@webiny/ui/Typography\";\n\nexport const flexClass = css({\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\"\n});\n\nexport const gridNoPaddingClass = css({\n padding: \"0px !important\"\n});\n\ninterface PermissionInfoProps {\n title: string;\n}\nexport const PermissionInfo: React.FC<PermissionInfoProps> = ({ title }) => (\n <div className={flexClass}>\n <Typography use={\"body2\"}>{title}</Typography>\n </div>\n);\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,SAAS,gBAAG,IAAAC,YAAA,EAAI;EACzBC,OAAO,EAAE,MADgB;EAEzBC,UAAU,EAAE,QAFa;EAGzBC,MAAM,EAAE;AAHiB,CAAJ,qBAAlB;;AAMA,IAAMC,kBAAkB,gBAAG,IAAAJ,YAAA,EAAI;EAClCK,OAAO,EAAE;AADyB,CAAJ,8BAA3B;;;AAOA,IAAMC,cAA6C,GAAG,SAAhDA,cAAgD;EAAA,IAAGC,KAAH,QAAGA,KAAH;EAAA,oBACzD;IAAK,SAAS,EAAER;EAAhB,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA2BQ,KAA3B,CADJ,CADyD;AAAA,CAAtD"}
@@ -91,7 +91,7 @@ var InputField = function InputField(_ref) {
91
91
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, label && /*#__PURE__*/_react.default.createElement("div", {
92
92
  className: labelStyle
93
93
  }, /*#__PURE__*/_react.default.createElement(_Typography.Typography, {
94
- use: "subtitle2"
94
+ use: "body2"
95
95
  }, label)), /*#__PURE__*/_react.default.createElement("input", Object.assign({
96
96
  className: (0, _classnames.default)(inputStyle, className),
97
97
  value: getValue({
@@ -1 +1 @@
1
- {"version":3,"names":["inputStyle","css","boxSizing","border","width","height","padding","textAlign","minHeight","backgroundColor","transition","opacity","cursor","WebkitAppearance","margin","labelStyle","marginBottom","color","getValue","params","value","defaultValue","type","isNaN","InputField","className","onChange","label","description","validation","isValid","props","classNames","ev","target","toLowerCase","omit","message","React","memo"],"sources":["InputField.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport omit from \"lodash/omit\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nconst inputStyle = css({\n boxSizing: \"border-box\",\n border: \"1px solid var(--mdc-theme-on-background)\",\n width: \"100%\",\n height: \"100%\",\n padding: \"4px 8px\",\n textAlign: \"left\",\n minHeight: 32,\n backgroundColor: \"var(--mdc-theme-surface)\",\n transition: \"150ms all ease-in-out\",\n \"&:focus:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:disabled\": {\n opacity: 0.5,\n cursor: \"not-allowed\"\n },\n\n \"&.text-center\": {\n textAlign: \"center\",\n padding: 4\n },\n\n \"&::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n },\n \"&::-webkit-outer-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n }\n});\n\nconst labelStyle = css({\n marginBottom: 8,\n padding: \"0px 8px\",\n \"& span\": {\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\ninterface GetValueParams {\n value: string | number | undefined;\n defaultValue: string | number;\n type: \"number\" | \"string\";\n}\nconst getValue = (params: GetValueParams): string => {\n const { value, defaultValue, type } = params;\n if (type === \"number\") {\n return (isNaN(value as number) ? defaultValue : value) as string;\n }\n return (value || defaultValue) as string;\n};\n\ninterface InputBoxProps {\n value?: string | number;\n onChange?: (value: any) => void;\n defaultValue?: string | number;\n type?: \"string\" | \"number\";\n [key: string]: any;\n}\nconst InputField: React.FC<InputBoxProps> = ({\n className,\n value,\n onChange,\n label,\n description,\n validation = { isValid: true },\n defaultValue = \"\",\n ...props\n}) => {\n return (\n <React.Fragment>\n {label && (\n <div className={labelStyle}>\n <Typography use={\"subtitle2\"}>{label}</Typography>\n </div>\n )}\n <input\n className={classNames(inputStyle, className)}\n value={getValue({\n value,\n type: props.type || \"string\",\n defaultValue\n })}\n onChange={ev => {\n if (!onChange) {\n return;\n }\n onChange((ev.target.value || \"\").toLowerCase());\n }}\n {...omit(props, \"validate\")}\n />\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n};\n\nexport default React.memo(InputField);\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AAEA,IAAMA,UAAU,gBAAG,IAAAC,YAAA,EAAI;EACnBC,SAAS,EAAE,YADQ;EAEnBC,MAAM,EAAE,0CAFW;EAGnBC,KAAK,EAAE,MAHY;EAInBC,MAAM,EAAE,MAJW;EAKnBC,OAAO,EAAE,SALU;EAMnBC,SAAS,EAAE,MANQ;EAOnBC,SAAS,EAAE,EAPQ;EAQnBC,eAAe,EAAE,0BARE;EASnBC,UAAU,EAAE,uBATO;EAUnB,0BAA0B;IACtBD,eAAe,EAAE;EADK,CAVP;EAanB,0BAA0B;IACtBA,eAAe,EAAE;EADK,CAbP;EAgBnB,cAAc;IACVE,OAAO,EAAE,GADC;IAEVC,MAAM,EAAE;EAFE,CAhBK;EAqBnB,iBAAiB;IACbL,SAAS,EAAE,QADE;IAEbD,OAAO,EAAE;EAFI,CArBE;EA0BnB,gCAAgC;IAC5BO,gBAAgB,EAAE,MADU;IAE5BC,MAAM,EAAE;EAFoB,CA1Bb;EA8BnB,gCAAgC;IAC5BD,gBAAgB,EAAE,MADU;IAE5BC,MAAM,EAAE;EAFoB;AA9Bb,CAAJ,sBAAnB;AAoCA,IAAMC,UAAU,gBAAG,IAAAd,YAAA,EAAI;EACnBe,YAAY,EAAE,CADK;EAEnBV,OAAO,EAAE,SAFU;EAGnB,UAAU;IACNW,KAAK,EAAE;EADD;AAHS,CAAJ,sBAAnB;;AAaA,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAAoC;EACjD,IAAQC,KAAR,GAAsCD,MAAtC,CAAQC,KAAR;EAAA,IAAeC,YAAf,GAAsCF,MAAtC,CAAeE,YAAf;EAAA,IAA6BC,IAA7B,GAAsCH,MAAtC,CAA6BG,IAA7B;;EACA,IAAIA,IAAI,KAAK,QAAb,EAAuB;IACnB,OAAQC,KAAK,CAACH,KAAD,CAAL,GAAyBC,YAAzB,GAAwCD,KAAhD;EACH;;EACD,OAAQA,KAAK,IAAIC,YAAjB;AACH,CAND;;AAeA,IAAMG,UAAmC,GAAG,SAAtCA,UAAsC,OAStC;EAAA,IARFC,SAQE,QARFA,SAQE;EAAA,IAPFL,KAOE,QAPFA,KAOE;EAAA,IANFM,SAME,QANFA,QAME;EAAA,IALFC,KAKE,QALFA,KAKE;EAAA,IAJFC,WAIE,QAJFA,WAIE;EAAA,2BAHFC,UAGE;EAAA,IAHFA,UAGE,gCAHW;IAAEC,OAAO,EAAE;EAAX,CAGX;EAAA,6BAFFT,YAEE;EAAA,IAFFA,YAEE,kCAFa,EAEb;EAAA,IADCU,KACD;EACF,oBACI,6BAAC,cAAD,CAAO,QAAP,QACKJ,KAAK,iBACF;IAAK,SAAS,EAAEZ;EAAhB,gBACI,6BAAC,sBAAD;IAAY,GAAG,EAAE;EAAjB,GAA+BY,KAA/B,CADJ,CAFR,eAMI;IACI,SAAS,EAAE,IAAAK,mBAAA,EAAWhC,UAAX,EAAuByB,SAAvB,CADf;IAEI,KAAK,EAAEP,QAAQ,CAAC;MACZE,KAAK,EAALA,KADY;MAEZE,IAAI,EAAES,KAAK,CAACT,IAAN,IAAc,QAFR;MAGZD,YAAY,EAAZA;IAHY,CAAD,CAFnB;IAOI,QAAQ,EAAE,kBAAAY,EAAE,EAAI;MACZ,IAAI,CAACP,SAAL,EAAe;QACX;MACH;;MACDA,SAAQ,CAAC,CAACO,EAAE,CAACC,MAAH,CAAUd,KAAV,IAAmB,EAApB,EAAwBe,WAAxB,EAAD,CAAR;IACH;EAZL,GAaQ,IAAAC,aAAA,EAAKL,KAAL,EAAY,UAAZ,CAbR,EANJ,EAqBKF,UAAU,CAACC,OAAX,KAAuB,KAAvB,iBACG,6BAAC,sCAAD;IAAoB,KAAK;EAAzB,GAA2BD,UAAU,CAACQ,OAAtC,CAtBR,EAwBKR,UAAU,CAACC,OAAX,KAAuB,KAAvB,IAAgCF,WAAhC,iBACG,6BAAC,sCAAD,QAAqBA,WAArB,CAzBR,CADJ;AA8BH,CAxCD;;4BA0CeU,cAAA,CAAMC,IAAN,CAAWf,UAAX,C"}
1
+ {"version":3,"names":["inputStyle","css","boxSizing","border","width","height","padding","textAlign","minHeight","backgroundColor","transition","opacity","cursor","WebkitAppearance","margin","labelStyle","marginBottom","color","getValue","params","value","defaultValue","type","isNaN","InputField","className","onChange","label","description","validation","isValid","props","classNames","ev","target","toLowerCase","omit","message","React","memo"],"sources":["InputField.tsx"],"sourcesContent":["import React from \"react\";\nimport { css } from \"emotion\";\nimport classNames from \"classnames\";\nimport omit from \"lodash/omit\";\nimport { Typography } from \"@webiny/ui/Typography\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\n\nconst inputStyle = css({\n boxSizing: \"border-box\",\n border: \"1px solid var(--mdc-theme-on-background)\",\n width: \"100%\",\n height: \"100%\",\n padding: \"4px 8px\",\n textAlign: \"left\",\n minHeight: 32,\n backgroundColor: \"var(--mdc-theme-surface)\",\n transition: \"150ms all ease-in-out\",\n \"&:focus:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"var(--mdc-theme-on-background)\"\n },\n \"&:disabled\": {\n opacity: 0.5,\n cursor: \"not-allowed\"\n },\n\n \"&.text-center\": {\n textAlign: \"center\",\n padding: 4\n },\n\n \"&::-webkit-inner-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n },\n \"&::-webkit-outer-spin-button\": {\n WebkitAppearance: \"none\",\n margin: 0\n }\n});\n\nconst labelStyle = css({\n marginBottom: 8,\n padding: \"0px 8px\",\n \"& span\": {\n color: \"var(--mdc-theme-text-primary-on-background)\"\n }\n});\n\ninterface GetValueParams {\n value: string | number | undefined;\n defaultValue: string | number;\n type: \"number\" | \"string\";\n}\nconst getValue = (params: GetValueParams): string => {\n const { value, defaultValue, type } = params;\n if (type === \"number\") {\n return (isNaN(value as number) ? defaultValue : value) as string;\n }\n return (value || defaultValue) as string;\n};\n\ninterface InputBoxProps {\n value?: string | number;\n onChange?: (value: any) => void;\n defaultValue?: string | number;\n type?: \"string\" | \"number\";\n [key: string]: any;\n}\nconst InputField: React.FC<InputBoxProps> = ({\n className,\n value,\n onChange,\n label,\n description,\n validation = { isValid: true },\n defaultValue = \"\",\n ...props\n}) => {\n return (\n <React.Fragment>\n {label && (\n <div className={labelStyle}>\n <Typography use={\"body2\"}>{label}</Typography>\n </div>\n )}\n <input\n className={classNames(inputStyle, className)}\n value={getValue({\n value,\n type: props.type || \"string\",\n defaultValue\n })}\n onChange={ev => {\n if (!onChange) {\n return;\n }\n onChange((ev.target.value || \"\").toLowerCase());\n }}\n {...omit(props, \"validate\")}\n />\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </React.Fragment>\n );\n};\n\nexport default React.memo(InputField);\n"],"mappings":"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"}
@@ -2,10 +2,12 @@ import React from "react";
2
2
  interface Params {
3
3
  title?: React.ReactNode;
4
4
  message?: React.ReactNode;
5
+ acceptLabel?: React.ReactNode;
6
+ cancelLabel?: React.ReactNode;
5
7
  [key: string]: any;
6
8
  }
7
9
  interface UseConfirmationDialogResponse {
8
10
  showConfirmation: (onAccept: () => void, onCancel?: () => void) => void;
9
11
  }
10
- declare const useConfirmationDialog: ({ title, message, ...options }?: Params) => UseConfirmationDialogResponse;
12
+ declare const useConfirmationDialog: ({ title, message, acceptLabel, cancelLabel, ...options }?: Params) => UseConfirmationDialogResponse;
11
13
  export { useConfirmationDialog };
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.useConfirmationDialog = void 0;
9
9
 
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
-
12
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
13
11
 
12
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
+
14
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
15
15
 
16
16
  var _useUi = require("@webiny/app/hooks/useUi");
@@ -19,7 +19,7 @@ var _i18n = require("@webiny/app/i18n");
19
19
 
20
20
  var _templateObject, _templateObject2, _templateObject3, _templateObject4;
21
21
 
22
- var _excluded = ["title", "message"];
22
+ var _excluded = ["title", "message", "acceptLabel", "cancelLabel"];
23
23
 
24
24
  var t = _i18n.i18n.ns("app-admin/hooks/use-confirmation-dialog");
25
25
 
@@ -28,6 +28,10 @@ var useConfirmationDialog = function useConfirmationDialog() {
28
28
 
29
29
  var title = _ref.title,
30
30
  message = _ref.message,
31
+ _ref$acceptLabel = _ref.acceptLabel,
32
+ acceptLabel = _ref$acceptLabel === void 0 ? t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Confirm"]))) : _ref$acceptLabel,
33
+ _ref$cancelLabel = _ref.cancelLabel,
34
+ cancelLabel = _ref$cancelLabel === void 0 ? t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Cancel"]))) : _ref$cancelLabel,
31
35
  options = (0, _objectWithoutProperties2.default)(_ref, _excluded);
32
36
  var ui = (0, _useUi.useUi)();
33
37
  return {
@@ -35,16 +39,16 @@ var useConfirmationDialog = function useConfirmationDialog() {
35
39
  ui.setState(function (ui) {
36
40
  return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, ui), {}, {
37
41
  dialog: {
38
- message: message || t(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["Are you sure you want to continue?"]))),
42
+ message: message || t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Are you sure you want to continue?"]))),
39
43
  options: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, options), {}, {
40
- title: title || t(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["Confirmation"]))),
44
+ title: title || t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Confirmation"]))),
41
45
  actions: {
42
46
  accept: {
43
- label: t(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["Confirm"]))),
47
+ label: acceptLabel,
44
48
  onClick: onAccept
45
49
  },
46
50
  cancel: {
47
- label: t(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["Cancel"]))),
51
+ label: cancelLabel,
48
52
  onClick: onCancel
49
53
  }
50
54
  }
@@ -1 +1 @@
1
- {"version":3,"names":["t","i18n","ns","useConfirmationDialog","title","message","options","ui","useUi","showConfirmation","onAccept","onCancel","setState","dialog","actions","accept","label","onClick","cancel"],"sources":["useConfirmationDialog.ts"],"sourcesContent":["import React from \"react\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\nimport { i18n } from \"@webiny/app/i18n\";\nconst t = i18n.ns(\"app-admin/hooks/use-confirmation-dialog\");\n\ninterface Params {\n title?: React.ReactNode;\n message?: React.ReactNode;\n [key: string]: any;\n}\n\ninterface UseConfirmationDialogResponse {\n showConfirmation: (onAccept: () => void, onCancel?: () => void) => void;\n}\n\nconst useConfirmationDialog = ({\n title,\n message,\n ...options\n}: Params = {}): UseConfirmationDialogResponse => {\n const ui = useUi();\n\n return {\n showConfirmation: (onAccept, onCancel) => {\n ui.setState(ui => {\n return {\n ...ui,\n dialog: {\n message: message || t`Are you sure you want to continue?`,\n options: {\n ...options,\n title: title || t`Confirmation`,\n actions: {\n accept: {\n label: t`Confirm`,\n onClick: onAccept\n },\n cancel: {\n label: t`Cancel`,\n onClick: onCancel\n }\n }\n }\n }\n };\n });\n }\n };\n};\n\nexport { useConfirmationDialog };\n"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;;;AACA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,yCAAR,CAAV;;AAYA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,GAIoB;EAAA,+EAAtC,EAAsC;;EAAA,IAH9CC,KAG8C,QAH9CA,KAG8C;EAAA,IAF9CC,OAE8C,QAF9CA,OAE8C;EAAA,IAD3CC,OAC2C;EAC9C,IAAMC,EAAE,GAAG,IAAAC,YAAA,GAAX;EAEA,OAAO;IACHC,gBAAgB,EAAE,0BAACC,QAAD,EAAWC,QAAX,EAAwB;MACtCJ,EAAE,CAACK,QAAH,CAAY,UAAAL,EAAE,EAAI;QACd,mEACOA,EADP;UAEIM,MAAM,EAAE;YACJR,OAAO,EAAEA,OAAO,IAAIL,CAAJ,qHADZ;YAEJM,OAAO,8DACAA,OADA;cAEHF,KAAK,EAAEA,KAAK,IAAIJ,CAAJ,iGAFT;cAGHc,OAAO,EAAE;gBACLC,MAAM,EAAE;kBACJC,KAAK,EAAEhB,CAAF,4FADD;kBAEJiB,OAAO,EAAEP;gBAFL,CADH;gBAKLQ,MAAM,EAAE;kBACJF,KAAK,EAAEhB,CAAF,2FADD;kBAEJiB,OAAO,EAAEN;gBAFL;cALH;YAHN;UAFH;QAFZ;MAoBH,CArBD;IAsBH;EAxBE,CAAP;AA0BH,CAjCD"}
1
+ {"version":3,"names":["t","i18n","ns","useConfirmationDialog","title","message","acceptLabel","cancelLabel","options","ui","useUi","showConfirmation","onAccept","onCancel","setState","dialog","actions","accept","label","onClick","cancel"],"sources":["useConfirmationDialog.ts"],"sourcesContent":["import React from \"react\";\nimport { useUi } from \"@webiny/app/hooks/useUi\";\nimport { i18n } from \"@webiny/app/i18n\";\nconst t = i18n.ns(\"app-admin/hooks/use-confirmation-dialog\");\n\ninterface Params {\n title?: React.ReactNode;\n message?: React.ReactNode;\n acceptLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n [key: string]: any;\n}\n\ninterface UseConfirmationDialogResponse {\n showConfirmation: (onAccept: () => void, onCancel?: () => void) => void;\n}\n\nconst useConfirmationDialog = ({\n title,\n message,\n acceptLabel = t`Confirm`,\n cancelLabel = t`Cancel`,\n ...options\n}: Params = {}): UseConfirmationDialogResponse => {\n const ui = useUi();\n\n return {\n showConfirmation: (onAccept, onCancel) => {\n ui.setState(ui => {\n return {\n ...ui,\n dialog: {\n message: message || t`Are you sure you want to continue?`,\n options: {\n ...options,\n title: title || t`Confirmation`,\n actions: {\n accept: {\n label: acceptLabel,\n onClick: onAccept\n },\n cancel: {\n label: cancelLabel,\n onClick: onCancel\n }\n }\n }\n }\n };\n });\n }\n };\n};\n\nexport { useConfirmationDialog };\n"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;;;;;AACA,IAAMA,CAAC,GAAGC,UAAA,CAAKC,EAAL,CAAQ,yCAAR,CAAV;;AAcA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,GAMoB;EAAA,+EAAtC,EAAsC;;EAAA,IAL9CC,KAK8C,QAL9CA,KAK8C;EAAA,IAJ9CC,OAI8C,QAJ9CA,OAI8C;EAAA,4BAH9CC,WAG8C;EAAA,IAH9CA,WAG8C,iCAHhCN,CAGgC;EAAA,4BAF9CO,WAE8C;EAAA,IAF9CA,WAE8C,iCAFhCP,CAEgC;EAAA,IAD3CQ,OAC2C;EAC9C,IAAMC,EAAE,GAAG,IAAAC,YAAA,GAAX;EAEA,OAAO;IACHC,gBAAgB,EAAE,0BAACC,QAAD,EAAWC,QAAX,EAAwB;MACtCJ,EAAE,CAACK,QAAH,CAAY,UAAAL,EAAE,EAAI;QACd,mEACOA,EADP;UAEIM,MAAM,EAAE;YACJV,OAAO,EAAEA,OAAO,IAAIL,CAAJ,uHADZ;YAEJQ,OAAO,8DACAA,OADA;cAEHJ,KAAK,EAAEA,KAAK,IAAIJ,CAAJ,iGAFT;cAGHgB,OAAO,EAAE;gBACLC,MAAM,EAAE;kBACJC,KAAK,EAAEZ,WADH;kBAEJa,OAAO,EAAEP;gBAFL,CADH;gBAKLQ,MAAM,EAAE;kBACJF,KAAK,EAAEX,WADH;kBAEJY,OAAO,EAAEN;gBAFL;cALH;YAHN;UAFH;QAFZ;MAoBH,CArBD;IAsBH;EAxBE,CAAP;AA0BH,CAnCD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-admin",
3
- "version": "5.33.5",
3
+ "version": "5.34.0-beta.1",
4
4
  "main": "index.js",
5
5
  "description": "A collection of plugins that together form a complete admin interface, customizable and extensible with Webiny apps and plugins.",
6
6
  "repository": {
@@ -13,33 +13,33 @@
13
13
  "@apollo/react-common": "3.1.4",
14
14
  "@apollo/react-components": "3.1.5",
15
15
  "@apollo/react-hooks": "3.1.5",
16
- "@babel/runtime": "7.18.9",
16
+ "@babel/runtime": "7.19.0",
17
17
  "@editorjs/editorjs": "2.25.0",
18
18
  "@emotion/core": "10.3.1",
19
19
  "@emotion/styled": "10.3.0",
20
- "@svgr/webpack": "6.3.1",
20
+ "@svgr/webpack": "6.4.0",
21
21
  "@types/mime": "2.0.3",
22
22
  "@types/react": "17.0.39",
23
- "@webiny/app": "5.33.5",
24
- "@webiny/app-admin-core": "5.33.5",
25
- "@webiny/app-security": "5.33.5",
26
- "@webiny/app-wcp": "5.33.5",
27
- "@webiny/form": "5.33.5",
28
- "@webiny/plugins": "5.33.5",
29
- "@webiny/react-composition": "5.33.5",
30
- "@webiny/react-router": "5.33.5",
31
- "@webiny/telemetry": "5.33.5",
32
- "@webiny/ui": "5.33.5",
33
- "@webiny/ui-composer": "5.33.5",
34
- "@webiny/validation": "5.33.5",
23
+ "@webiny/app": "5.34.0-beta.1",
24
+ "@webiny/app-admin-core": "5.34.0-beta.1",
25
+ "@webiny/app-security": "5.34.0-beta.1",
26
+ "@webiny/app-wcp": "5.34.0-beta.1",
27
+ "@webiny/form": "5.34.0-beta.1",
28
+ "@webiny/plugins": "5.34.0-beta.1",
29
+ "@webiny/react-composition": "5.34.0-beta.1",
30
+ "@webiny/react-router": "5.34.0-beta.1",
31
+ "@webiny/telemetry": "5.34.0-beta.1",
32
+ "@webiny/ui": "5.34.0-beta.1",
33
+ "@webiny/ui-composer": "5.34.0-beta.1",
34
+ "@webiny/validation": "5.34.0-beta.1",
35
35
  "apollo-cache": "1.3.5",
36
36
  "apollo-client": "2.6.10",
37
37
  "apollo-link": "1.2.14",
38
38
  "apollo-utilities": "1.3.4",
39
39
  "bytes": "3.1.2",
40
- "classnames": "2.3.1",
40
+ "classnames": "2.3.2",
41
41
  "dataurl-to-blob": "0.0.1",
42
- "dayjs": "1.11.4",
42
+ "dayjs": "1.11.5",
43
43
  "dot-prop-immutable": "2.1.1",
44
44
  "downshift": "3.4.8",
45
45
  "emotion": "10.0.27",
@@ -49,7 +49,7 @@
49
49
  "invariant": "2.2.4",
50
50
  "lodash": "4.17.21",
51
51
  "mime": "2.6.0",
52
- "minimatch": "3.1.2",
52
+ "minimatch": "5.1.0",
53
53
  "nanoid": "3.3.4",
54
54
  "prop-types": "15.8.1",
55
55
  "react": "17.0.2",
@@ -58,21 +58,21 @@
58
58
  "react-hotkeyz": "1.0.4",
59
59
  "react-lazy-load": "3.1.14",
60
60
  "react-transition-group": "4.4.5",
61
- "semver": "7.3.7",
61
+ "semver": "7.3.8",
62
62
  "store": "2.0.12"
63
63
  },
64
64
  "devDependencies": {
65
- "@babel/cli": "^7.16.0",
66
- "@babel/core": "^7.16.0",
67
- "@babel/plugin-proposal-class-properties": "^7.16.0",
68
- "@babel/preset-env": "^7.16.4",
69
- "@babel/preset-react": "^7.16.0",
70
- "@babel/preset-typescript": "^7.16.0",
65
+ "@babel/cli": "^7.19.3",
66
+ "@babel/core": "^7.19.3",
67
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
68
+ "@babel/preset-env": "^7.19.4",
69
+ "@babel/preset-react": "^7.18.6",
70
+ "@babel/preset-typescript": "^7.18.6",
71
71
  "@types/bytes": "^3.1.1",
72
72
  "@types/graphlib": "^2.1.8",
73
73
  "@types/store": "^2.0.2",
74
- "@webiny/cli": "^5.33.5",
75
- "@webiny/project-utils": "^5.33.5",
74
+ "@webiny/cli": "^5.34.0-beta.1",
75
+ "@webiny/project-utils": "^5.34.0-beta.1",
76
76
  "babel-plugin-emotion": "^9.2.8",
77
77
  "babel-plugin-lodash": "^3.3.4",
78
78
  "rimraf": "^3.0.2",
@@ -99,5 +99,5 @@
99
99
  ]
100
100
  }
101
101
  },
102
- "gitHead": "5063045cd2abdcdb360f97262f9b90b8858ec1df"
102
+ "gitHead": "1ee2a7338a865a67e24eb42d16bf0b6091195286"
103
103
  }
@@ -195,7 +195,7 @@ Fix the width of input components when inside grids
195
195
  margin-left: 2px !important;
196
196
  color: $mdc-theme-text-secondary-on-background;
197
197
  &--error {
198
- color: $webiny-theme-dark-primary !important;
198
+ color: $mdc-theme-primary !important;
199
199
  }
200
200
  }
201
201
 
@@ -222,6 +222,7 @@ Fix the width of input components when inside grids
222
222
  overflow: auto;
223
223
  margin-top: 0;
224
224
  padding-top: 24px;
225
+ padding-bottom: 24px;
225
226
  background-color: $mdc-theme-surface;
226
227
 
227
228
  // add options for when tabs are inside the body
@@ -251,6 +252,9 @@ Fix the width of input components when inside grids
251
252
  padding-bottom: 25px;
252
253
  }
253
254
  }
255
+ > .mdc-layout-grid {
256
+ margin: -24px;
257
+ }
254
258
  }
255
259
  .mdc-dialog__actions {
256
260
  border-top: 1px solid $mdc-theme-on-background;
@@ -13,6 +13,7 @@ $mdc-theme-text-primary-on-background: $webiny-theme-light-text-primary-on-backg
13
13
  $mdc-theme-text-secondary-on-background: $webiny-theme-light-text-secondary-on-background;
14
14
  $mdc-theme-text-hint-on-dark: $webiny-theme-light-text-hint-on-dark;
15
15
  $mdc-typography-font-family: $webiny-theme-typography-font-family;
16
+ $mdc-typography-subtitle2-font-weight: $webiny-theme-typography-subtitle2-font-weight;
16
17
 
17
18
  @import "~material-components-web/material-components-web.scss";
18
19
  @import "material-theme-assignments.scss";
@@ -35,6 +36,7 @@ body {
35
36
  --mdc-theme-text-hint-on-dark: #{$mdc-theme-text-hint-on-dark};
36
37
  --mdc-theme-caret-down: #{$webiny-theme-light-caret-down};
37
38
  --mdc-typography-font-family: #{$mdc-typography-font-family};
39
+ --mdc-typography-subtitle2-font-weight: #{$mdc-typography-subtitle2-font-weight};
38
40
 
39
41
  font-family: "Source Sans Pro";
40
42
  }
package/styles/theme.scss CHANGED
@@ -28,10 +28,10 @@ $webiny-theme-dark-caret-down: url("data:image/svg+xml,%3Csvg%20width%3D%2210px%
28
28
 
29
29
  // webiny typography
30
30
  $webiny-theme-typography-font-family: "Source Sans Pro" !default;
31
+ $webiny-theme-typography-subtitle2-font-weight: 600 !default;
31
32
 
32
33
  // import required fonts
33
34
  @import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700|Open+Sans:300,400,600,700|Source+Code+Pro:400,700");
34
- //@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700|Open+Sans:300,400,600,700|Source+Code+Pro:400,700");
35
35
 
36
36
  body {
37
37
  font-size: 16px;
@@ -41,3 +41,6 @@ a {
41
41
  color: var(--webiny-theme-color-primary, #ee896b);
42
42
  text-decoration: none;
43
43
  }
44
+
45
+ @import "@webiny/ui/styles.scss";
46
+
@@ -25,7 +25,7 @@ var _UIRenderer2 = require("../../../UIRenderer");
25
25
 
26
26
  var _FormElementMessage = require("@webiny/ui/FormElementMessage");
27
27
 
28
- var _components = require("../../../../components");
28
+ var _FileManager = require("../../../../components/FileManager");
29
29
 
30
30
  var ImageUploadWrapper = /*#__PURE__*/(0, _styled.default)("div", {
31
31
  target: "e1g56mwy0",
@@ -83,12 +83,17 @@ var FileManagerElementRenderer = /*#__PURE__*/function (_UIRenderer) {
83
83
  }
84
84
  }, function (_ref2) {
85
85
  var value = _ref2.value,
86
- onChange = _ref2.onChange,
86
+ _onChange = _ref2.onChange,
87
87
  validation = _ref2.validation;
88
88
  return /*#__PURE__*/_react.default.createElement(ImageUploadWrapper, null, label && /*#__PURE__*/_react.default.createElement("div", {
89
89
  className: "mdc-floating-label mdc-floating-label--float-above"
90
- }, label), /*#__PURE__*/_react.default.createElement(_components.FileManager, {
91
- onChange: onChange,
90
+ }, label), /*#__PURE__*/_react.default.createElement(_FileManager.FileManager, {
91
+ onChange: function onChange(value) {
92
+ return _onChange(value ? {
93
+ id: value.id,
94
+ src: value.src
95
+ } : null);
96
+ },
92
97
  accept: accept,
93
98
  images: !accept,
94
99
  maxSize: element.getMaxSize(),
@@ -98,7 +103,12 @@ var FileManagerElementRenderer = /*#__PURE__*/function (_UIRenderer) {
98
103
  fileManagerElement: element,
99
104
  showFileManager: showFileManager,
100
105
  value: value,
101
- onChange: onChange
106
+ onChange: function onChange(value) {
107
+ return _onChange(value ? {
108
+ id: value.id,
109
+ src: value.src
110
+ } : null);
111
+ }
102
112
  }));
103
113
  }
104
114
  }), validation.isValid === false && /*#__PURE__*/_react.default.createElement(_FormElementMessage.FormElementMessage, {
@@ -1 +1 @@
1
- {"version":3,"names":["ImageUploadWrapper","styled","position","opacity","pointerEvents","transform","top","left","color","FileManagerElementRenderer","element","props","formProps","Error","Bind","accept","getAccept","label","getLabel","description","getDescription","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","onChange","validation","getMaxSize","showFileManager","getEmptyStateElement","render","fileManagerElement","isValid","message","UIRenderer"],"sources":["FileManagerElementRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { FileManagerElement } from \"~/ui/elements/form/FileManagerElement\";\nimport { FileManager } from \"~/components\";\nimport { FormFieldElementRenderProps } from \"~/ui/elements/form/FormFieldElement\";\n\nconst ImageUploadWrapper = styled(\"div\")({\n position: \"relative\",\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \".mdc-floating-label--float-above\": {\n transform: \"scale(0.75)\",\n top: 10,\n left: 10,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n \".mdc-text-field-helper-text\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n});\n\nexport interface FileManagerElementRenderProps extends FormFieldElementRenderProps {\n fileManagerElement: FileManagerElement;\n value: any;\n showFileManager: () => void;\n onChange: (value: any) => void;\n}\n\nexport class FileManagerElementRenderer extends UIRenderer<\n FileManagerElement,\n FormFieldElementRenderProps\n> {\n public override render({\n element,\n props\n }: UIRenderParams<FileManagerElement, FormFieldElementRenderProps>): React.ReactNode {\n if (!props.formProps) {\n throw Error(`FileManagerElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n const accept = element.getAccept();\n const label = element.getLabel(props);\n const description = element.getDescription(props);\n\n return (\n <Bind\n name={element.getName()}\n validators={element.getValidators(props)}\n defaultValue={element.getDefaultValue(props)}\n beforeChange={(value: string, cb) => element.onBeforeChange(value, cb)}\n afterChange={(value: string, form) => element.onAfterChange(value, form)}\n >\n {({ value, onChange, validation }) => (\n <ImageUploadWrapper>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <FileManager\n onChange={onChange}\n accept={accept}\n images={!accept}\n maxSize={element.getMaxSize()}\n render={({ showFileManager }) =>\n element.getEmptyStateElement().render({\n ...props,\n fileManagerElement: element,\n showFileManager,\n value,\n onChange\n })\n }\n />\n\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </ImageUploadWrapper>\n )}\n </Bind>\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AAGA,IAAMA,kBAAkB,oBAAGC,eAAH,EAAU,KAAV;EAAA;EAAA;AAAA,GAAiB;EACrCC,QAAQ,EAAE,UAD2B;EAErC,aAAa;IACTC,OAAO,EAAE,IADA;IAETC,aAAa,EAAE;EAFN,CAFwB;EAMrC,oCAAoC;IAChCC,SAAS,EAAE,aADqB;IAEhCC,GAAG,EAAE,EAF2B;IAGhCC,IAAI,EAAE,EAH0B;IAIhCC,KAAK,EAAE;EAJyB,CANC;EAYrC,+BAA+B;IAC3BA,KAAK,EAAE;EADoB;AAZM,CAAjB,CAAxB;;IAwBaC,0B;;;;;;;;;;;;WAIT,sBAGqF;MAAA,IAFjFC,OAEiF,QAFjFA,OAEiF;MAAA,IADjFC,KACiF,QADjFA,KACiF;;MACjF,IAAI,CAACA,KAAK,CAACC,SAAX,EAAsB;QAClB,MAAMC,KAAK,8DAAX;MACH;;MAED,IAAQC,IAAR,GAAiBH,KAAK,CAACC,SAAvB,CAAQE,IAAR;MAEA,IAAMC,MAAM,GAAGL,OAAO,CAACM,SAAR,EAAf;MACA,IAAMC,KAAK,GAAGP,OAAO,CAACQ,QAAR,CAAiBP,KAAjB,CAAd;MACA,IAAMQ,WAAW,GAAGT,OAAO,CAACU,cAAR,CAAuBT,KAAvB,CAApB;MAEA,oBACI,6BAAC,IAAD;QACI,IAAI,EAAED,OAAO,CAACW,OAAR,EADV;QAEI,UAAU,EAAEX,OAAO,CAACY,aAAR,CAAsBX,KAAtB,CAFhB;QAGI,YAAY,EAAED,OAAO,CAACa,eAAR,CAAwBZ,KAAxB,CAHlB;QAII,YAAY,EAAE,sBAACa,KAAD,EAAgBC,EAAhB;UAAA,OAAuBf,OAAO,CAACgB,cAAR,CAAuBF,KAAvB,EAA8BC,EAA9B,CAAvB;QAAA,CAJlB;QAKI,WAAW,EAAE,qBAACD,KAAD,EAAgBG,IAAhB;UAAA,OAAyBjB,OAAO,CAACkB,aAAR,CAAsBJ,KAAtB,EAA6BG,IAA7B,CAAzB;QAAA;MALjB,GAOK;QAAA,IAAGH,KAAH,SAAGA,KAAH;QAAA,IAAUK,QAAV,SAAUA,QAAV;QAAA,IAAoBC,UAApB,SAAoBA,UAApB;QAAA,oBACG,6BAAC,kBAAD,QACKb,KAAK,iBACF;UAAK,SAAS,EAAC;QAAf,GACKA,KADL,CAFR,eAOI,6BAAC,uBAAD;UACI,QAAQ,EAAEY,QADd;UAEI,MAAM,EAAEd,MAFZ;UAGI,MAAM,EAAE,CAACA,MAHb;UAII,OAAO,EAAEL,OAAO,CAACqB,UAAR,EAJb;UAKI,MAAM,EAAE;YAAA,IAAGC,eAAH,SAAGA,eAAH;YAAA,OACJtB,OAAO,CAACuB,oBAAR,GAA+BC,MAA/B,6DACOvB,KADP;cAEIwB,kBAAkB,EAAEzB,OAFxB;cAGIsB,eAAe,EAAfA,eAHJ;cAIIR,KAAK,EAALA,KAJJ;cAKIK,QAAQ,EAARA;YALJ,GADI;UAAA;QALZ,EAPJ,EAuBKC,UAAU,CAACM,OAAX,KAAuB,KAAvB,iBACG,6BAAC,sCAAD;UAAoB,KAAK;QAAzB,GAA2BN,UAAU,CAACO,OAAtC,CAxBR,EA0BKP,UAAU,CAACM,OAAX,KAAuB,KAAvB,IAAgCjB,WAAhC,iBACG,6BAAC,sCAAD,QAAqBA,WAArB,CA3BR,CADH;MAAA,CAPL,CADJ;IA0CH;;;EA5D2CmB,uB"}
1
+ {"version":3,"names":["ImageUploadWrapper","styled","position","opacity","pointerEvents","transform","top","left","color","FileManagerElementRenderer","element","props","formProps","Error","Bind","accept","getAccept","label","getLabel","description","getDescription","getName","getValidators","getDefaultValue","value","cb","onBeforeChange","form","onAfterChange","onChange","validation","id","src","getMaxSize","showFileManager","getEmptyStateElement","render","fileManagerElement","isValid","message","UIRenderer"],"sources":["FileManagerElementRenderer.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from \"@emotion/styled\";\nimport { UIRenderer, UIRenderParams } from \"~/ui/UIRenderer\";\nimport { FormElementMessage } from \"@webiny/ui/FormElementMessage\";\nimport { FileManagerElement } from \"~/ui/elements/form/FileManagerElement\";\nimport { FileManager, FileManagerFileItem } from \"~/components/FileManager\";\nimport { FormFieldElementRenderProps } from \"~/ui/elements/form/FormFieldElement\";\n\nconst ImageUploadWrapper = styled(\"div\")({\n position: \"relative\",\n \".disabled\": {\n opacity: 0.75,\n pointerEvents: \"none\"\n },\n \".mdc-floating-label--float-above\": {\n transform: \"scale(0.75)\",\n top: 10,\n left: 10,\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n },\n \".mdc-text-field-helper-text\": {\n color: \"var(--mdc-theme-text-secondary-on-background)\"\n }\n});\n\nexport interface FileManagerElementRenderProps extends FormFieldElementRenderProps {\n fileManagerElement: FileManagerElement;\n value: any;\n showFileManager: () => void;\n onChange: (value: any) => void;\n}\n\nexport class FileManagerElementRenderer extends UIRenderer<\n FileManagerElement,\n FormFieldElementRenderProps\n> {\n public override render({\n element,\n props\n }: UIRenderParams<FileManagerElement, FormFieldElementRenderProps>): React.ReactNode {\n if (!props.formProps) {\n throw Error(`FileManagerElement must be placed inside of a FormElement.`);\n }\n\n const { Bind } = props.formProps;\n\n const accept = element.getAccept();\n const label = element.getLabel(props);\n const description = element.getDescription(props);\n\n return (\n <Bind\n name={element.getName()}\n validators={element.getValidators(props)}\n defaultValue={element.getDefaultValue(props)}\n beforeChange={(value: string, cb) => element.onBeforeChange(value, cb)}\n afterChange={(value: string, form) => element.onAfterChange(value, form)}\n >\n {({ value, onChange, validation }) => (\n <ImageUploadWrapper>\n {label && (\n <div className=\"mdc-floating-label mdc-floating-label--float-above\">\n {label}\n </div>\n )}\n\n <FileManager\n onChange={(value: FileManagerFileItem | null) =>\n onChange(value ? { id: value.id, src: value.src } : null)\n }\n accept={accept}\n images={!accept}\n maxSize={element.getMaxSize()}\n render={({ showFileManager }) =>\n element.getEmptyStateElement().render({\n ...props,\n fileManagerElement: element,\n showFileManager,\n value,\n onChange: (value: FileManagerFileItem | null) =>\n onChange(value ? { id: value.id, src: value.src } : null)\n })\n }\n />\n\n {validation.isValid === false && (\n <FormElementMessage error>{validation.message}</FormElementMessage>\n )}\n {validation.isValid !== false && description && (\n <FormElementMessage>{description}</FormElementMessage>\n )}\n </ImageUploadWrapper>\n )}\n </Bind>\n );\n }\n}\n"],"mappings":"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"}
@@ -7,14 +7,14 @@ export declare const AddImageWrapperRound: import("@emotion/styled-base").Styled
7
7
  theme?: object | undefined;
8
8
  } & {
9
9
  children?: import("react").ReactNode;
10
- }, "key" | "theme" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
10
+ }, "key" | keyof import("react").HTMLAttributes<HTMLDivElement> | "theme"> & {
11
11
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
12
12
  }, Pick<Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Pick<Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, keyof import("react").HTMLAttributes<HTMLDivElement>> & {
13
13
  theme?: object | undefined;
14
14
  } & {
15
15
  children?: import("react").ReactNode;
16
- }, "key" | "theme" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
16
+ }, "key" | keyof import("react").HTMLAttributes<HTMLDivElement> | "theme"> & {
17
17
  ref?: ((instance: HTMLDivElement | null) => void) | import("react").RefObject<HTMLDivElement> | null | undefined;
18
- }, "theme" | keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
18
+ }, keyof import("react").HTMLAttributes<HTMLDivElement> | "theme">, object>;
19
19
  export declare const RemoveImage: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
20
20
  export declare const FilePreviewWrapper: import("@emotion/styled-base").StyledComponent<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Pick<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement>, keyof import("react").HTMLAttributes<HTMLDivElement>>, object>;
@@ -1 +1 @@
1
- {"version":3,"names":["grid","css","padding","backgroundColor","gridGap","leftPanel","display","flexDirection","height","overflow","maxHeight","rightPanel","SplitView","id","config","Set","useGrid","addClassName","addElements","getLeftPanel","addElement","getRightPanel","className","_classNames","add","delete","getElement","props","classNames","Array","from","values","_leftPanel","SplitViewPanelElement","setWidth","_rightPanel","moveAfter","UIView"],"sources":["SplitView.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Grid } from \"@webiny/ui/Grid\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { SplitViewPanelElement } from \"./SplitView/SplitViewPanelElement\";\nimport { UIView } from \"../UIView\";\n\nconst grid = css({\n \"&.mdc-layout-grid\": {\n padding: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n \">.mdc-layout-grid__inner\": {\n gridGap: 0\n }\n }\n});\n\nconst leftPanel = css({\n backgroundColor: \"var(--mdc-theme-surface)\",\n \">.webiny-data-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"calc(100vh - 70px)\",\n \".mdc-list\": {\n overflow: \"auto\"\n }\n },\n \">.mdc-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 70px)\",\n overflow: \"auto\"\n }\n});\n\nconst rightPanel = css({\n backgroundColor: \"var(--mdc-theme-background)\",\n overflow: \"auto\",\n height: \"calc(100vh - 70px)\"\n});\n\ninterface SplitViewConfig {\n leftPanel?: UIElement;\n rightPanel?: UIElement;\n}\n\nexport class SplitView extends UIView {\n private _classNames = new Set();\n private _leftPanel?: SplitViewPanelElement;\n private _rightPanel?: SplitViewPanelElement;\n\n public constructor(id: string, config: SplitViewConfig = {}) {\n super(`SplitView.${id}`);\n\n this.useGrid(false);\n this.addClassName(grid);\n this.addClassName(\"webiny-split-view\");\n this.addElements();\n\n if (config.leftPanel) {\n this.getLeftPanel().addElement(config.leftPanel);\n }\n\n if (config.rightPanel) {\n this.getRightPanel().addElement(config.rightPanel);\n }\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public getLeftPanel(): SplitViewPanelElement {\n return this.getElement(\"leftPanel\") as SplitViewPanelElement;\n }\n\n public getRightPanel(): SplitViewPanelElement {\n return this.getElement(\"rightPanel\") as SplitViewPanelElement;\n }\n\n public override render(props?: any): React.ReactNode {\n return (\n <Grid className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Grid>\n );\n }\n\n private addElements(): void {\n this._leftPanel = new SplitViewPanelElement(\"leftPanel\");\n this._leftPanel.useGrid(false);\n this._leftPanel.setWidth(5);\n this._leftPanel.addClassName(leftPanel);\n this._leftPanel.addClassName(\"webiny-split-view__left-panel\");\n\n this._rightPanel = new SplitViewPanelElement(\"rightPanel\");\n this._rightPanel.useGrid(false);\n this._rightPanel.setWidth(7);\n this._rightPanel.addClassName(rightPanel);\n this._rightPanel.addClassName(\"webiny-split-view__right-panel\");\n\n this.addElement(this._leftPanel);\n this._rightPanel.moveAfter(this._leftPanel);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["grid","css","padding","backgroundColor","gridGap","leftPanel","display","flexDirection","height","overflow","maxHeight","rightPanel","SplitView","id","config","Set","useGrid","addClassName","addElements","getLeftPanel","addElement","getRightPanel","className","_classNames","add","delete","getElement","props","classNames","Array","from","values","_leftPanel","SplitViewPanelElement","setWidth","_rightPanel","moveAfter","UIView"],"sources":["SplitView.tsx"],"sourcesContent":["import React from \"react\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Grid } from \"@webiny/ui/Grid\";\nimport { UIElement } from \"~/ui/UIElement\";\nimport { SplitViewPanelElement } from \"./SplitView/SplitViewPanelElement\";\nimport { UIView } from \"../UIView\";\n\nconst grid = css({\n \"&.mdc-layout-grid\": {\n padding: 0,\n backgroundColor: \"var(--mdc-theme-background)\",\n \">.mdc-layout-grid__inner\": {\n gridGap: 0\n }\n }\n});\n\nconst leftPanel = css({\n backgroundColor: \"var(--mdc-theme-surface)\",\n \">.webiny-data-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n height: \"calc(100vh - 70px)\",\n \".mdc-list\": {\n overflow: \"auto\"\n }\n },\n \">.mdc-list\": {\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 70px)\",\n overflow: \"auto\"\n }\n});\n\nconst rightPanel = css({\n backgroundColor: \"var(--mdc-theme-background)\",\n overflow: \"auto\",\n height: \"calc(100vh - 70px)\"\n});\n\ninterface SplitViewConfig {\n leftPanel?: UIElement;\n rightPanel?: UIElement;\n}\n\nexport class SplitView extends UIView {\n private _classNames = new Set<string>();\n private _leftPanel?: SplitViewPanelElement;\n private _rightPanel?: SplitViewPanelElement;\n\n public constructor(id: string, config: SplitViewConfig = {}) {\n super(`SplitView.${id}`);\n\n this.useGrid(false);\n this.addClassName(grid);\n this.addClassName(\"webiny-split-view\");\n this.addElements();\n\n if (config.leftPanel) {\n this.getLeftPanel().addElement(config.leftPanel);\n }\n\n if (config.rightPanel) {\n this.getRightPanel().addElement(config.rightPanel);\n }\n }\n\n public addClassName(className: string): void {\n this._classNames.add(className);\n }\n\n public removeClassName(className: string): void {\n this._classNames.delete(className);\n }\n\n public getLeftPanel(): SplitViewPanelElement {\n return this.getElement(\"leftPanel\") as SplitViewPanelElement;\n }\n\n public getRightPanel(): SplitViewPanelElement {\n return this.getElement(\"rightPanel\") as SplitViewPanelElement;\n }\n\n public override render(props?: any): React.ReactNode {\n return (\n <Grid className={classNames(Array.from(this._classNames.values()))}>\n {super.render(props)}\n </Grid>\n );\n }\n\n private addElements(): void {\n this._leftPanel = new SplitViewPanelElement(\"leftPanel\");\n this._leftPanel.useGrid(false);\n this._leftPanel.setWidth(5);\n this._leftPanel.addClassName(leftPanel);\n this._leftPanel.addClassName(\"webiny-split-view__left-panel\");\n\n this._rightPanel = new SplitViewPanelElement(\"rightPanel\");\n this._rightPanel.useGrid(false);\n this._rightPanel.setWidth(7);\n this._rightPanel.addClassName(rightPanel);\n this._rightPanel.addClassName(\"webiny-split-view__right-panel\");\n\n this.addElement(this._leftPanel);\n this._rightPanel.moveAfter(this._leftPanel);\n }\n}\n"],"mappings":"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"}