@webiny/app-admin 5.27.0 → 5.29.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/base/Admin.js +51 -29
  2. package/base/Admin.js.map +1 -1
  3. package/base/Base.js +52 -29
  4. package/base/Base.js.map +1 -1
  5. package/base/plugins/AddGraphQLQuerySelection.js +26 -11
  6. package/base/plugins/AddGraphQLQuerySelection.js.map +1 -1
  7. package/base/providers/ApolloProvider.d.ts +1 -1
  8. package/base/providers/ApolloProvider.js +25 -14
  9. package/base/providers/ApolloProvider.js.map +1 -1
  10. package/base/providers/TelemetryProvider.js +21 -8
  11. package/base/providers/TelemetryProvider.js.map +1 -1
  12. package/base/providers/UiStateProvider.js +18 -5
  13. package/base/providers/UiStateProvider.js.map +1 -1
  14. package/base/providers/ViewCompositionProvider.js +34 -15
  15. package/base/providers/ViewCompositionProvider.js.map +1 -1
  16. package/base/ui/Brand.js +18 -5
  17. package/base/ui/Brand.js.map +1 -1
  18. package/base/ui/CenteredView.js +21 -8
  19. package/base/ui/CenteredView.js.map +1 -1
  20. package/base/ui/Dashboard.js +18 -5
  21. package/base/ui/Dashboard.js.map +1 -1
  22. package/base/ui/Layout.js +21 -8
  23. package/base/ui/Layout.js.map +1 -1
  24. package/base/ui/LocaleSelector.js +18 -5
  25. package/base/ui/LocaleSelector.js.map +1 -1
  26. package/base/ui/LoginScreen.js +22 -7
  27. package/base/ui/LoginScreen.js.map +1 -1
  28. package/base/ui/Logo.js +25 -9
  29. package/base/ui/Logo.js.map +1 -1
  30. package/base/ui/Menu.js +46 -26
  31. package/base/ui/Menu.js.map +1 -1
  32. package/base/ui/Navigation.js +79 -42
  33. package/base/ui/Navigation.js.map +1 -1
  34. package/base/ui/NotFound.js +18 -5
  35. package/base/ui/NotFound.js.map +1 -1
  36. package/base/ui/Search.js +50 -22
  37. package/base/ui/Search.js.map +1 -1
  38. package/base/ui/Tags.js +23 -7
  39. package/base/ui/Tags.js.map +1 -1
  40. package/base/ui/UserMenu.js +74 -36
  41. package/base/ui/UserMenu.js.map +1 -1
  42. package/components/AdminLayout.js +18 -5
  43. package/components/AdminLayout.js.map +1 -1
  44. package/components/AppInstaller/AppInstaller.js +79 -49
  45. package/components/AppInstaller/AppInstaller.js.map +1 -1
  46. package/components/AppInstaller/Sidebar.js +50 -28
  47. package/components/AppInstaller/Sidebar.js.map +1 -1
  48. package/components/AppInstaller/index.js +20 -7
  49. package/components/AppInstaller/index.js.map +1 -1
  50. package/components/AppInstaller/styled.js +26 -9
  51. package/components/AppInstaller/styled.js.map +1 -1
  52. package/components/AppInstaller/useInstaller.js +67 -40
  53. package/components/AppInstaller/useInstaller.js.map +1 -1
  54. package/components/EmptyView.js +25 -11
  55. package/components/EmptyView.js.map +1 -1
  56. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js +23 -9
  57. package/components/FileManager/BottomInfoBar/SupportedFileTypes.js.map +1 -1
  58. package/components/FileManager/BottomInfoBar/UploadStatus.js +21 -8
  59. package/components/FileManager/BottomInfoBar/UploadStatus.js.map +1 -1
  60. package/components/FileManager/BottomInfoBar.js +29 -11
  61. package/components/FileManager/BottomInfoBar.js.map +1 -1
  62. package/components/FileManager/DropFilesHere.js +27 -12
  63. package/components/FileManager/DropFilesHere.js.map +1 -1
  64. package/components/FileManager/File.js +42 -24
  65. package/components/FileManager/File.js.map +1 -1
  66. package/components/FileManager/FileDetails/Name.js +52 -30
  67. package/components/FileManager/FileDetails/Name.js.map +1 -1
  68. package/components/FileManager/FileDetails/Tags.js +112 -73
  69. package/components/FileManager/FileDetails/Tags.js.map +1 -1
  70. package/components/FileManager/FileDetails.js +157 -120
  71. package/components/FileManager/FileDetails.js.map +1 -1
  72. package/components/FileManager/FileManagerContext.js +39 -20
  73. package/components/FileManager/FileManagerContext.js.map +1 -1
  74. package/components/FileManager/FileManagerView.js +172 -130
  75. package/components/FileManager/FileManagerView.js.map +1 -1
  76. package/components/FileManager/LeftSidebar.js +49 -28
  77. package/components/FileManager/LeftSidebar.js.map +1 -1
  78. package/components/FileManager/NoPermissionView.js +35 -18
  79. package/components/FileManager/NoPermissionView.js.map +1 -1
  80. package/components/FileManager/NoResults.js +18 -6
  81. package/components/FileManager/NoResults.js.map +1 -1
  82. package/components/FileManager/getFileTypePlugin.js +23 -9
  83. package/components/FileManager/getFileTypePlugin.js.map +1 -1
  84. package/components/FileManager/getFileUploader.js +14 -4
  85. package/components/FileManager/getFileUploader.js.map +1 -1
  86. package/components/FileManager/graphql.js +24 -8
  87. package/components/FileManager/graphql.js.map +1 -1
  88. package/components/FileManager/outputFileSelectionError.js +16 -4
  89. package/components/FileManager/outputFileSelectionError.js.map +1 -1
  90. package/components/FileManager/types.js +5 -1
  91. package/components/FileManager/types.js.map +1 -1
  92. package/components/FileManager.js +60 -36
  93. package/components/FileManager.js.map +1 -1
  94. package/components/FloatingActionButton.js +18 -6
  95. package/components/FloatingActionButton.js.map +1 -1
  96. package/components/MultiImageUpload.js +24 -12
  97. package/components/MultiImageUpload.js.map +1 -1
  98. package/components/OverlayLayout/OverlayLayout.js +68 -43
  99. package/components/OverlayLayout/OverlayLayout.js.map +1 -1
  100. package/components/OverlayLayout/index.js +13 -1
  101. package/components/OverlayLayout/index.js.map +1 -1
  102. package/components/Permissions/Permissions.js +28 -11
  103. package/components/Permissions/Permissions.js.map +1 -1
  104. package/components/Permissions/StyledComponents.js +26 -9
  105. package/components/Permissions/StyledComponents.js.map +1 -1
  106. package/components/Permissions/index.js +30 -2
  107. package/components/Permissions/index.js.map +1 -1
  108. package/components/RichTextEditor/RichTextEditor.js +24 -9
  109. package/components/RichTextEditor/RichTextEditor.js.map +1 -1
  110. package/components/RichTextEditor/index.js +21 -2
  111. package/components/RichTextEditor/index.js.map +1 -1
  112. package/components/RichTextEditor/tools/header/index.js +34 -33
  113. package/components/RichTextEditor/tools/header/index.js.map +1 -1
  114. package/components/RichTextEditor/tools/image/index.js +34 -28
  115. package/components/RichTextEditor/tools/image/index.js.map +1 -1
  116. package/components/RichTextEditor/tools/image/svgs.js +9 -2
  117. package/components/RichTextEditor/tools/image/svgs.js.map +1 -1
  118. package/components/RichTextEditor/tools/image/tunes.js +28 -22
  119. package/components/RichTextEditor/tools/image/tunes.js.map +1 -1
  120. package/components/RichTextEditor/tools/image/types.js +5 -1
  121. package/components/RichTextEditor/tools/image/types.js.map +1 -1
  122. package/components/RichTextEditor/tools/image/ui.js +30 -23
  123. package/components/RichTextEditor/tools/image/ui.js.map +1 -1
  124. package/components/RichTextEditor/tools/paragraph/index.js +43 -41
  125. package/components/RichTextEditor/tools/paragraph/index.js.map +1 -1
  126. package/components/RichTextEditor/tools/textColor/index.js +27 -26
  127. package/components/RichTextEditor/tools/textColor/index.js.map +1 -1
  128. package/components/RichTextEditor/tools/utils.js +14 -5
  129. package/components/RichTextEditor/tools/utils.js.map +1 -1
  130. package/components/Routes.js +24 -9
  131. package/components/Routes.js.map +1 -1
  132. package/components/SearchUI.js +23 -9
  133. package/components/SearchUI.js.map +1 -1
  134. package/components/SimpleForm/SimpleForm.js +60 -29
  135. package/components/SimpleForm/SimpleForm.js.map +1 -1
  136. package/components/SimpleForm/index.js +31 -1
  137. package/components/SimpleForm/index.js.map +1 -1
  138. package/components/SimpleUI/InputField.js +35 -18
  139. package/components/SimpleUI/InputField.js.map +1 -1
  140. package/components/SingleImageUpload.js +41 -22
  141. package/components/SingleImageUpload.js.map +1 -1
  142. package/components/SplitView/SplitView.js +42 -19
  143. package/components/SplitView/SplitView.js.map +1 -1
  144. package/components/SplitView/index.js +25 -1
  145. package/components/SplitView/index.js.map +1 -1
  146. package/components/index.js +13 -1
  147. package/components/index.js.map +1 -1
  148. package/hooks/useConfirmationDialog.js +29 -16
  149. package/hooks/useConfirmationDialog.js.map +1 -1
  150. package/hooks/useDialog.js +16 -6
  151. package/hooks/useDialog.js.map +1 -1
  152. package/hooks/useSnackbar.js +20 -7
  153. package/hooks/useSnackbar.js.map +1 -1
  154. package/index.d.ts +1 -0
  155. package/index.js +295 -26
  156. package/index.js.map +1 -1
  157. package/package.json +21 -20
  158. package/plugins/FileManagerFileTypePlugin.js +33 -20
  159. package/plugins/FileManagerFileTypePlugin.js.map +1 -1
  160. package/plugins/MenuPlugin.js +33 -20
  161. package/plugins/MenuPlugin.js.map +1 -1
  162. package/plugins/PermissionRendererPlugin.js +33 -20
  163. package/plugins/PermissionRendererPlugin.js.map +1 -1
  164. package/plugins/fileManager/fileDefault.js +24 -8
  165. package/plugins/fileManager/fileDefault.js.map +1 -1
  166. package/plugins/fileManager/fileImage/DeleteAction.js +45 -24
  167. package/plugins/fileManager/fileImage/DeleteAction.js.map +1 -1
  168. package/plugins/fileManager/fileImage/EditAction.js +51 -28
  169. package/plugins/fileManager/fileImage/EditAction.js.map +1 -1
  170. package/plugins/fileManager/fileImage/index.js +29 -10
  171. package/plugins/fileManager/fileImage/index.js.map +1 -1
  172. package/plugins/fileManager/index.js +15 -3
  173. package/plugins/fileManager/index.js.map +1 -1
  174. package/plugins/globalSearch/SearchBar.js +82 -60
  175. package/plugins/globalSearch/SearchBar.js.map +1 -1
  176. package/plugins/globalSearch/SearchBarDropdown.js +46 -27
  177. package/plugins/globalSearch/SearchBarDropdown.js.map +1 -1
  178. package/plugins/globalSearch/index.js +9 -2
  179. package/plugins/globalSearch/index.js.map +1 -1
  180. package/plugins/globalSearch/styled.js +33 -13
  181. package/plugins/globalSearch/styled.js.map +1 -1
  182. package/plugins/index.js +20 -6
  183. package/plugins/index.js.map +1 -1
  184. package/plugins/uiLayoutRenderer/index.js +26 -13
  185. package/plugins/uiLayoutRenderer/index.js.map +1 -1
  186. package/types.js +5 -1
  187. package/types.js.map +1 -1
  188. package/ui/UIElement.js +19 -1
  189. package/ui/UIElement.js.map +1 -1
  190. package/ui/UILayout.js +19 -1
  191. package/ui/UILayout.js.map +1 -1
  192. package/ui/UIRenderer.js +13 -1
  193. package/ui/UIRenderer.js.map +1 -1
  194. package/ui/UIView.js +25 -1
  195. package/ui/UIView.js.map +1 -1
  196. package/ui/elements/AccordionElement.js +52 -32
  197. package/ui/elements/AccordionElement.js.map +1 -1
  198. package/ui/elements/ButtonElement.js +36 -19
  199. package/ui/elements/ButtonElement.js.map +1 -1
  200. package/ui/elements/ButtonGroupElement.js +38 -19
  201. package/ui/elements/ButtonGroupElement.js.map +1 -1
  202. package/ui/elements/GenericElement.js +18 -1
  203. package/ui/elements/GenericElement.js.map +1 -1
  204. package/ui/elements/LabelElement.js +26 -13
  205. package/ui/elements/LabelElement.js.map +1 -1
  206. package/ui/elements/NavigationMenuElement.js +48 -30
  207. package/ui/elements/NavigationMenuElement.js.map +1 -1
  208. package/ui/elements/PanelElement.js +27 -12
  209. package/ui/elements/PanelElement.js.map +1 -1
  210. package/ui/elements/PlaceholderElement.js +27 -13
  211. package/ui/elements/PlaceholderElement.js.map +1 -1
  212. package/ui/elements/SmallButtonElement.js +36 -19
  213. package/ui/elements/SmallButtonElement.js.map +1 -1
  214. package/ui/elements/TypographyElement.js +38 -20
  215. package/ui/elements/TypographyElement.js.map +1 -1
  216. package/ui/elements/ViewElement.js +18 -1
  217. package/ui/elements/ViewElement.js.map +1 -1
  218. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js +33 -17
  219. package/ui/elements/form/DynamicFieldsetElement/DynamicFieldsetRowElement.js.map +1 -1
  220. package/ui/elements/form/DynamicFieldsetElement.js +41 -23
  221. package/ui/elements/form/DynamicFieldsetElement.js.map +1 -1
  222. package/ui/elements/form/FileManagerElement/EmptyStateElement.js +30 -14
  223. package/ui/elements/form/FileManagerElement/EmptyStateElement.js.map +1 -1
  224. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js +51 -28
  225. package/ui/elements/form/FileManagerElement/EmptyStateElementRenderer.js.map +1 -1
  226. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js +45 -25
  227. package/ui/elements/form/FileManagerElement/FileManagerElementRenderer.js.map +1 -1
  228. package/ui/elements/form/FileManagerElement/styled.d.ts +3 -3
  229. package/ui/elements/form/FileManagerElement/styled.js +26 -12
  230. package/ui/elements/form/FileManagerElement/styled.js.map +1 -1
  231. package/ui/elements/form/FileManagerElement.js +39 -22
  232. package/ui/elements/form/FileManagerElement.js.map +1 -1
  233. package/ui/elements/form/FormElement.js +42 -21
  234. package/ui/elements/form/FormElement.js.map +1 -1
  235. package/ui/elements/form/FormFieldElement.js +38 -23
  236. package/ui/elements/form/FormFieldElement.js.map +1 -1
  237. package/ui/elements/form/HiddenElement.js +30 -15
  238. package/ui/elements/form/HiddenElement.js.map +1 -1
  239. package/ui/elements/form/InputElement.js +34 -18
  240. package/ui/elements/form/InputElement.js.map +1 -1
  241. package/ui/elements/form/PasswordElement.js +34 -18
  242. package/ui/elements/form/PasswordElement.js.map +1 -1
  243. package/ui/elements/form/SelectElement.js +35 -19
  244. package/ui/elements/form/SelectElement.js.map +1 -1
  245. package/ui/elements/form/TextareaElement.js +34 -18
  246. package/ui/elements/form/TextareaElement.js.map +1 -1
  247. package/ui/views/AdminView/ContentElement.js +40 -24
  248. package/ui/views/AdminView/ContentElement.js.map +1 -1
  249. package/ui/views/AdminView/HeaderElement.js +60 -39
  250. package/ui/views/AdminView/HeaderElement.js.map +1 -1
  251. package/ui/views/AdminView/HeaderSectionCenterElement.js +41 -21
  252. package/ui/views/AdminView/HeaderSectionCenterElement.js.map +1 -1
  253. package/ui/views/AdminView/HeaderSectionLeftElement.js +41 -21
  254. package/ui/views/AdminView/HeaderSectionLeftElement.js.map +1 -1
  255. package/ui/views/AdminView/HeaderSectionRightElement.js +41 -21
  256. package/ui/views/AdminView/HeaderSectionRightElement.js.map +1 -1
  257. package/ui/views/AdminView/components/Dialog.js +32 -15
  258. package/ui/views/AdminView/components/Dialog.js.map +1 -1
  259. package/ui/views/AdminView/components/Hamburger.js +25 -11
  260. package/ui/views/AdminView/components/Hamburger.js.map +1 -1
  261. package/ui/views/AdminView/components/Snackbar.js +26 -13
  262. package/ui/views/AdminView/components/Snackbar.js.map +1 -1
  263. package/ui/views/FormView/FormContainerElement.js +45 -25
  264. package/ui/views/FormView/FormContainerElement.js.map +1 -1
  265. package/ui/views/FormView/FormContentElement.js +27 -12
  266. package/ui/views/FormView/FormContentElement.js.map +1 -1
  267. package/ui/views/FormView/FormFooterElement.js +38 -19
  268. package/ui/views/FormView/FormFooterElement.js.map +1 -1
  269. package/ui/views/FormView/FormHeaderElement.js +52 -30
  270. package/ui/views/FormView/FormHeaderElement.js.map +1 -1
  271. package/ui/views/FormView.js +60 -34
  272. package/ui/views/FormView.js.map +1 -1
  273. package/ui/views/OverlayView/ContentElement.js +38 -19
  274. package/ui/views/OverlayView/ContentElement.js.map +1 -1
  275. package/ui/views/OverlayView/HeaderElement.js +56 -37
  276. package/ui/views/OverlayView/HeaderElement.js.map +1 -1
  277. package/ui/views/OverlayView/HeaderTitleElement.js +44 -25
  278. package/ui/views/OverlayView/HeaderTitleElement.js.map +1 -1
  279. package/ui/views/OverlayView/useOverlayView.js +32 -16
  280. package/ui/views/OverlayView/useOverlayView.js.map +1 -1
  281. package/ui/views/OverlayView.js +65 -42
  282. package/ui/views/OverlayView.js.map +1 -1
  283. package/ui/views/SplitView/SplitViewPanelElement.js +47 -28
  284. package/ui/views/SplitView/SplitViewPanelElement.js.map +1 -1
  285. package/ui/views/SplitView.js +57 -37
  286. package/ui/views/SplitView.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["FileDetails.tsx"],"names":["React","useCallback","useMemo","useState","bytes","classNames","css","Drawer","DrawerContent","IconButton","getFileTypePlugin","dayjs","get","set","cloneDeep","Tags","Name","Tooltip","Icon","Typography","useHotkeys","ReactComponent","CopyContentIcon","DeleteIcon","ImageIcon","FileIcon","CalendarIcon","HighlightIcon","getWhere","useFileManager","useMutation","useSnackbar","useSecurity","ConfirmationDialog","DELETE_FILE","LIST_FILES","LIST_TAGS","i18n","mime","t","ns","fileDetailsSidebar","width","style","wrapper","height","overflowY","header","textAlign","marginBottom","paddingTop","textTransform","color","fontWeight","preview","boxSizing","display","justifyContent","alignItems","position","margin","img","objectFit","maxHeight","maxWidth","transform","backgroundColor","download","list","li","padding","lineHeight","minHeight","marginRight","flex","whiteSpace","overflow","textOverflow","drawerContent","isImage","file","fileType","getType","name","includes","FileDetails","props","uploadFile","validateFiles","filePlugin","actions","hideFileDetails","queryParams","darkImageBackground","setDarkImageBackground","identity","getPermission","fmFilePermission","canDelete","item","own","identityId","id","login","rwd","zIndex","disabled","keys","esc","update","cache","data","readQuery","query","variables","fileManager","listFiles","error","meta","hasMoreItems","cursor","totalItem","filteredList","filter","selectedFile","find","writeQuery","Array","isArray","tags","tagCountMap","forEach","tag","listTagsData","where","scope","filteredTags","listTags","deleteFile","showSnackbar","renderDeleteImageAction","fileDeleteConfirmationProps","title","message","showConfirmation","fileTypeIcon","type","Boolean","dark","render","navigator","clipboard","writeText","src","map","Component","index","format","size","unitSeparator","createdOn"],"mappings":"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","sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport bytes from \"bytes\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Drawer, DrawerContent } from \"@webiny/ui/Drawer\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport getFileTypePlugin from \"./getFileTypePlugin\";\nimport dayjs from \"dayjs\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport Tags from \"./FileDetails/Tags\";\nimport Name from \"./FileDetails/Name\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Typography } from \"@webiny/ui/Typography\";\n/**\n * Package react-hotkeyz has no types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { ReactComponent as CopyContentIcon } from \"./icons/content_copy-black-24px.svg\";\nimport { ReactComponent as DeleteIcon } from \"./icons/delete.svg\";\nimport { ReactComponent as ImageIcon } from \"../../assets/icons/insert_photo-24px.svg\";\nimport { ReactComponent as FileIcon } from \"../../assets/icons/insert_drive_file-24px.svg\";\nimport { ReactComponent as CalendarIcon } from \"../../assets/icons/today-24px.svg\";\nimport { ReactComponent as HighlightIcon } from \"../../assets/icons/highlight-24px.svg\";\nimport { getWhere, useFileManager } from \"./FileManagerContext\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { ConfirmationDialog } from \"@webiny/ui/ConfirmationDialog\";\nimport {\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n LIST_FILES,\n LIST_TAGS,\n ListFilesQueryResponse,\n ListFileTagsQueryResponse\n} from \"./graphql\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport mime from \"mime\";\nimport { FileItem, FileManagerSecurityPermission } from \"./types\";\nimport { FilesRenderChildren } from \"react-butterfiles\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-details\");\n\nconst fileDetailsSidebar = css({\n \"&.mdc-drawer\": {\n width: 360\n }\n});\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"li-title\": {\n children?: React.ReactNode;\n };\n\n \"li-content\": {\n children?: React.ReactNode;\n };\n }\n }\n}\n\nconst style: any = {\n wrapper: css({\n height: \"100vh\",\n overflowY: \"auto\"\n }),\n header: css({\n textAlign: \"center\",\n marginBottom: 24,\n paddingTop: 16,\n \"& span\": {\n textTransform: \"capitalize\",\n color: \"var(--mdc-theme-on-surface)\",\n fontWeight: 600\n }\n }),\n preview: css({\n boxSizing: \"border-box\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"relative\",\n width: \"100%\",\n height: 300,\n margin: \"0 auto 24px\",\n img: {\n objectFit: \"contain\",\n maxHeight: 300,\n maxWidth: 300,\n width: \"100%\",\n position: \"static\",\n transform: \"none\"\n },\n \"&.dark\": {\n backgroundColor: \"var(--mdc-theme-background)\"\n }\n }),\n download: css({\n textAlign: \"center\",\n margin: \"0 auto\",\n width: \"100%\",\n \"& .icon--active\": {\n \"&.mdc-icon-button\": {\n color: \"var(--mdc-theme-text-on-primary)\"\n }\n }\n }),\n list: css({\n textAlign: \"left\",\n color: \"var(--mdc-theme-on-surface)\",\n li: {\n padding: \"12px 16px\",\n lineHeight: \"22px\",\n \"li-title\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n minHeight: 48,\n \"& .list-item__title\": {\n fontWeight: 600\n },\n \"& .list-item__icon\": {\n marginRight: 24\n },\n \"& .list-item__content\": {\n flex: \"1 0 200px\"\n }\n },\n \"li-content\": {\n width: \"100%\",\n display: \"block\",\n \"& .list-item__truncate\": {\n display: \"block\",\n width: \"100%\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n }\n }\n }\n }),\n drawerContent: css({\n \"&.mdc-drawer__content\": {\n height: \"auto\",\n overflowY: \"inherit\"\n }\n })\n};\ninterface FileDetailsProps {\n canEdit: (item: any) => boolean;\n file: FileItem;\n uploadFile: (files: FileItem[] | FileItem) => Promise<number | null>;\n validateFiles: FilesRenderChildren[\"validateFiles\"];\n [key: string]: any;\n}\n\nconst isImage = (file: FileItem) => {\n const fileType = mime.getType(file && file.name);\n\n if (fileType && typeof fileType === \"string\") {\n return fileType.includes(\"image\");\n }\n\n return false;\n};\n\nconst FileDetails: React.FC<FileDetailsProps> = props => {\n const { file, uploadFile, validateFiles } = props;\n\n const filePlugin = getFileTypePlugin(file);\n const actions: React.FC[] =\n get(filePlugin, \"fileDetails.actions\") || get(filePlugin, \"actions\") || [];\n\n const { hideFileDetails, queryParams } = useFileManager();\n const [darkImageBackground, setDarkImageBackground] = useState(false);\n\n const { identity, getPermission } = useSecurity();\n const fmFilePermission = useMemo((): FileManagerSecurityPermission | null => {\n return getPermission(\"fm.file\");\n }, [identity]);\n const canDelete = useCallback(\n item => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n if (fmFilePermission.own) {\n const identityId = identity ? identity.id || identity.login : null;\n if (!identityId) {\n return false;\n }\n return get(item, \"createdBy.id\") === identityId;\n }\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"d\");\n }\n return true;\n },\n [fmFilePermission]\n );\n\n useHotkeys({\n zIndex: 55,\n disabled: !file,\n keys: {\n esc: hideFileDetails\n }\n });\n\n const [deleteFile] = useMutation<DeleteFileMutationResponse, DeleteFileMutationVariables>(\n DELETE_FILE,\n {\n update: cache => {\n // 1. Update files list cache\n let data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n if (!data) {\n data = {\n fileManager: {\n listFiles: {\n data: [],\n error: null,\n meta: {\n hasMoreItems: false,\n cursor: null,\n totalItem: 0\n }\n }\n }\n };\n }\n const filteredList = data.fileManager.listFiles.data.filter(\n (item: FileItem) => item.id !== file.id\n );\n const selectedFile = data.fileManager.listFiles.data.find(\n (item: FileItem) => item.id === file.id\n );\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: set(data, \"fileManager.listFiles.data\", filteredList)\n });\n // 2. Update \"ListTags\" cache\n if (!selectedFile || Array.isArray(selectedFile.tags) === false) {\n return;\n }\n const tagCountMap: Record<string, number> = {};\n // Prepare \"tag\" count map\n data.fileManager.listFiles.data.forEach((file: FileItem) => {\n if (!Array.isArray(file.tags)) {\n return;\n }\n file.tags.forEach(tag => {\n if (tagCountMap[tag]) {\n tagCountMap[tag] += 1;\n } else {\n tagCountMap[tag] = 1;\n }\n });\n });\n\n // Get tags from cache\n const listTagsData = cloneDeep(\n cache.readQuery<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) }\n })\n );\n // Remove selected file tags from list.\n const filteredTags = (listTagsData?.fileManager?.listTags || []).filter(\n (tag: string) => {\n if (!selectedFile.tags.includes(tag)) {\n return true;\n }\n return tagCountMap[tag] > 1;\n }\n );\n\n // Write it to cache\n cache.writeQuery({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) },\n data: set(data, \"fileManager.listTags\", filteredTags)\n });\n }\n }\n );\n const { showSnackbar } = useSnackbar();\n\n const renderDeleteImageAction = useCallback(file => {\n if (!canDelete(file)) {\n return null;\n }\n const fileDeleteConfirmationProps = {\n title: t`Delete file`,\n message: file && (\n <span>\n {t`You're about to delete file {name}. Are you sure you want to continue?`({\n name: file.name\n })}\n </span>\n )\n };\n return (\n <ConfirmationDialog\n {...fileDeleteConfirmationProps}\n data-testid={\"fm-delete-file-confirmation-dialog\"}\n style={{ zIndex: 100 }}\n >\n {({ showConfirmation }) => {\n return (\n <Tooltip\n content={\n isImage(file) ? (\n <span>{t`Delete image`}</span>\n ) : (\n <span>{t`Delete file`}</span>\n )\n }\n placement={\"bottom\"}\n >\n <IconButton\n data-testid={\"fm-delete-file-button\"}\n icon={<DeleteIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={() =>\n showConfirmation(async () => {\n await deleteFile({\n variables: {\n id: file.id\n }\n });\n showSnackbar(t`File deleted successfully.`);\n })\n }\n />\n </Tooltip>\n );\n }}\n </ConfirmationDialog>\n );\n }, []);\n\n const fileTypeIcon = useMemo(() => {\n if (file && typeof file.type === \"string\") {\n return file.type.includes(\"image\") ? <ImageIcon /> : <FileIcon />;\n }\n return <ImageIcon />;\n }, [file]);\n\n return (\n <Drawer\n className={fileDetailsSidebar}\n dir=\"rtl\"\n modal\n open={Boolean(file)}\n onClose={hideFileDetails}\n data-testid={\"fm.file-details.drawer\"}\n >\n {file && (\n <div className={style.wrapper} dir=\"ltr\">\n <div className={style.header}>\n <Typography use={\"headline5\"}>{t`File details`}</Typography>\n </div>\n <div\n className={classNames(style.preview, {\n dark: darkImageBackground\n })}\n >\n {filePlugin &&\n filePlugin.render({\n /**\n * TODO: @ts-refactor\n * Figure out which type is the file\n */\n // @ts-ignore\n file,\n uploadFile,\n validateFiles\n })}\n </div>\n <div className={style.download}>\n <>\n <Tooltip content={<span>{t`Copy URL`}</span>} placement={\"bottom\"}>\n <IconButton\n onClick={() => {\n navigator.clipboard.writeText(file.src);\n showSnackbar(t`URL copied successfully.`);\n }}\n icon={<CopyContentIcon style={{ margin: \"0 8px 0 0\" }} />}\n />\n </Tooltip>\n\n {actions.map((Component: React.FC, index: number) => (\n <Component key={index} {...props} />\n ))}\n {renderDeleteImageAction(file)}\n {/* Render background switcher */}\n <Tooltip content={t`Toggle background`} placement={\"bottom\"}>\n <IconButton\n icon={<HighlightIcon />}\n onClick={() => setDarkImageBackground(!darkImageBackground)}\n className={classNames({ \"icon--active\": darkImageBackground })}\n />\n </Tooltip>\n </>\n </div>\n <DrawerContent dir=\"ltr\" className={style.drawerContent}>\n <ul className={style.list}>\n <li>\n <Name {...props} />\n </li>\n <li>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={fileTypeIcon} />\n <div>\n <Typography use={\"subtitle1\"}>{file.type}</Typography>{\" \"}\n {\" - \"}\n <Typography use={\"subtitle1\"}>\n {bytes.format(file.size, { unitSeparator: \" \" })}\n </Typography>\n </div>\n </li-title>\n </li>\n <li>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={<CalendarIcon />} />\n <div>\n <Typography use={\"subtitle1\"}>\n {dayjs(file.createdOn).format(\"DD MMM YYYY [at] HH:mm\")}\n </Typography>\n </div>\n </li-title>\n </li>\n <li>\n <Tags key={props.file.id} {...props} />\n </li>\n </ul>\n </DrawerContent>\n </div>\n )}\n </Drawer>\n );\n};\n\nexport default FileDetails;\n"]}
1
+ {"version":3,"names":["t","i18n","ns","fileDetailsSidebar","css","width","style","wrapper","height","overflowY","header","textAlign","marginBottom","paddingTop","textTransform","color","fontWeight","preview","boxSizing","display","justifyContent","alignItems","position","margin","img","objectFit","maxHeight","maxWidth","transform","backgroundColor","download","list","li","padding","lineHeight","minHeight","marginRight","flex","whiteSpace","overflow","textOverflow","drawerContent","isImage","file","fileType","mime","getType","name","includes","FileDetails","props","uploadFile","validateFiles","filePlugin","getFileTypePlugin","actions","get","useFileManager","hideFileDetails","queryParams","useState","darkImageBackground","setDarkImageBackground","useSecurity","identity","getPermission","fmFilePermission","useMemo","canDelete","useCallback","item","own","identityId","id","login","rwd","useHotkeys","zIndex","disabled","keys","esc","useMutation","DELETE_FILE","update","cache","data","cloneDeep","readQuery","query","LIST_FILES","variables","fileManager","listFiles","error","meta","hasMoreItems","cursor","totalItem","filteredList","filter","selectedFile","find","writeQuery","set","Array","isArray","tags","tagCountMap","forEach","tag","listTagsData","LIST_TAGS","where","getWhere","scope","filteredTags","listTags","deleteFile","useSnackbar","showSnackbar","renderDeleteImageAction","fileDeleteConfirmationProps","title","message","showConfirmation","fileTypeIcon","type","Boolean","classNames","dark","render","navigator","clipboard","writeText","src","map","Component","index","bytes","format","size","unitSeparator","dayjs","createdOn"],"sources":["FileDetails.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport bytes from \"bytes\";\nimport classNames from \"classnames\";\nimport { css } from \"emotion\";\nimport { Drawer, DrawerContent } from \"@webiny/ui/Drawer\";\nimport { IconButton } from \"@webiny/ui/Button\";\nimport getFileTypePlugin from \"./getFileTypePlugin\";\nimport dayjs from \"dayjs\";\nimport get from \"lodash/get\";\nimport set from \"lodash/set\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport Tags from \"./FileDetails/Tags\";\nimport Name from \"./FileDetails/Name\";\nimport { Tooltip } from \"@webiny/ui/Tooltip\";\nimport { Icon } from \"@webiny/ui/Icon\";\nimport { Typography } from \"@webiny/ui/Typography\";\n/**\n * Package react-hotkeyz has no types.\n */\n// @ts-ignore\nimport { useHotkeys } from \"react-hotkeyz\";\nimport { ReactComponent as CopyContentIcon } from \"./icons/content_copy-black-24px.svg\";\nimport { ReactComponent as DeleteIcon } from \"./icons/delete.svg\";\nimport { ReactComponent as ImageIcon } from \"../../assets/icons/insert_photo-24px.svg\";\nimport { ReactComponent as FileIcon } from \"../../assets/icons/insert_drive_file-24px.svg\";\nimport { ReactComponent as CalendarIcon } from \"../../assets/icons/today-24px.svg\";\nimport { ReactComponent as HighlightIcon } from \"../../assets/icons/highlight-24px.svg\";\nimport { getWhere, useFileManager } from \"./FileManagerContext\";\nimport { useMutation } from \"@apollo/react-hooks\";\nimport { useSnackbar } from \"~/hooks/useSnackbar\";\nimport { useSecurity } from \"@webiny/app-security\";\nimport { ConfirmationDialog } from \"@webiny/ui/ConfirmationDialog\";\nimport {\n DELETE_FILE,\n DeleteFileMutationResponse,\n DeleteFileMutationVariables,\n LIST_FILES,\n LIST_TAGS,\n ListFilesQueryResponse,\n ListFileTagsQueryResponse\n} from \"./graphql\";\nimport { i18n } from \"@webiny/app/i18n\";\nimport mime from \"mime\";\nimport { FileItem, FileManagerSecurityPermission } from \"./types\";\nimport { FilesRenderChildren } from \"react-butterfiles\";\n\nconst t = i18n.ns(\"app-admin/file-manager/file-details\");\n\nconst fileDetailsSidebar = css({\n \"&.mdc-drawer\": {\n width: 360\n }\n});\n\ndeclare global {\n // eslint-disable-next-line\n namespace JSX {\n interface IntrinsicElements {\n \"li-title\": {\n children?: React.ReactNode;\n };\n\n \"li-content\": {\n children?: React.ReactNode;\n };\n }\n }\n}\n\nconst style: any = {\n wrapper: css({\n height: \"100vh\",\n overflowY: \"auto\"\n }),\n header: css({\n textAlign: \"center\",\n marginBottom: 24,\n paddingTop: 16,\n \"& span\": {\n textTransform: \"capitalize\",\n color: \"var(--mdc-theme-on-surface)\",\n fontWeight: 600\n }\n }),\n preview: css({\n boxSizing: \"border-box\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"relative\",\n width: \"100%\",\n height: 300,\n margin: \"0 auto 24px\",\n img: {\n objectFit: \"contain\",\n maxHeight: 300,\n maxWidth: 300,\n width: \"100%\",\n position: \"static\",\n transform: \"none\"\n },\n \"&.dark\": {\n backgroundColor: \"var(--mdc-theme-background)\"\n }\n }),\n download: css({\n textAlign: \"center\",\n margin: \"0 auto\",\n width: \"100%\",\n \"& .icon--active\": {\n \"&.mdc-icon-button\": {\n color: \"var(--mdc-theme-text-on-primary)\"\n }\n }\n }),\n list: css({\n textAlign: \"left\",\n color: \"var(--mdc-theme-on-surface)\",\n li: {\n padding: \"12px 16px\",\n lineHeight: \"22px\",\n \"li-title\": {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n minHeight: 48,\n \"& .list-item__title\": {\n fontWeight: 600\n },\n \"& .list-item__icon\": {\n marginRight: 24\n },\n \"& .list-item__content\": {\n flex: \"1 0 200px\"\n }\n },\n \"li-content\": {\n width: \"100%\",\n display: \"block\",\n \"& .list-item__truncate\": {\n display: \"block\",\n width: \"100%\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\"\n }\n }\n }\n }),\n drawerContent: css({\n \"&.mdc-drawer__content\": {\n height: \"auto\",\n overflowY: \"inherit\"\n }\n })\n};\ninterface FileDetailsProps {\n canEdit: (item: any) => boolean;\n file: FileItem;\n uploadFile: (files: FileItem[] | FileItem) => Promise<number | null>;\n validateFiles: FilesRenderChildren[\"validateFiles\"];\n [key: string]: any;\n}\n\nconst isImage = (file: FileItem) => {\n const fileType = mime.getType(file && file.name);\n\n if (fileType && typeof fileType === \"string\") {\n return fileType.includes(\"image\");\n }\n\n return false;\n};\n\nconst FileDetails: React.FC<FileDetailsProps> = props => {\n const { file, uploadFile, validateFiles } = props;\n\n const filePlugin = getFileTypePlugin(file);\n const actions: React.FC[] =\n get(filePlugin, \"fileDetails.actions\") || get(filePlugin, \"actions\") || [];\n\n const { hideFileDetails, queryParams } = useFileManager();\n const [darkImageBackground, setDarkImageBackground] = useState(false);\n\n const { identity, getPermission } = useSecurity();\n const fmFilePermission = useMemo((): FileManagerSecurityPermission | null => {\n return getPermission(\"fm.file\");\n }, [identity]);\n const canDelete = useCallback(\n item => {\n // Bail out early if no access\n if (!fmFilePermission) {\n return false;\n }\n if (fmFilePermission.own) {\n const identityId = identity ? identity.id || identity.login : null;\n if (!identityId) {\n return false;\n }\n return get(item, \"createdBy.id\") === identityId;\n }\n if (typeof fmFilePermission.rwd === \"string\") {\n return fmFilePermission.rwd.includes(\"d\");\n }\n return true;\n },\n [fmFilePermission]\n );\n\n useHotkeys({\n zIndex: 55,\n disabled: !file,\n keys: {\n esc: hideFileDetails\n }\n });\n\n const [deleteFile] = useMutation<DeleteFileMutationResponse, DeleteFileMutationVariables>(\n DELETE_FILE,\n {\n update: cache => {\n // 1. Update files list cache\n let data = cloneDeep(\n cache.readQuery<ListFilesQueryResponse>({\n query: LIST_FILES,\n variables: queryParams\n })\n );\n if (!data) {\n data = {\n fileManager: {\n listFiles: {\n data: [],\n error: null,\n meta: {\n hasMoreItems: false,\n cursor: null,\n totalItem: 0\n }\n }\n }\n };\n }\n const filteredList = data.fileManager.listFiles.data.filter(\n (item: FileItem) => item.id !== file.id\n );\n const selectedFile = data.fileManager.listFiles.data.find(\n (item: FileItem) => item.id === file.id\n );\n\n cache.writeQuery({\n query: LIST_FILES,\n variables: queryParams,\n data: set(data, \"fileManager.listFiles.data\", filteredList)\n });\n // 2. Update \"ListTags\" cache\n if (!selectedFile || Array.isArray(selectedFile.tags) === false) {\n return;\n }\n const tagCountMap: Record<string, number> = {};\n // Prepare \"tag\" count map\n data.fileManager.listFiles.data.forEach((file: FileItem) => {\n if (!Array.isArray(file.tags)) {\n return;\n }\n file.tags.forEach(tag => {\n if (tagCountMap[tag]) {\n tagCountMap[tag] += 1;\n } else {\n tagCountMap[tag] = 1;\n }\n });\n });\n\n // Get tags from cache\n const listTagsData = cloneDeep(\n cache.readQuery<ListFileTagsQueryResponse>({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) }\n })\n );\n // Remove selected file tags from list.\n const filteredTags = (listTagsData?.fileManager?.listTags || []).filter(\n (tag: string) => {\n if (!selectedFile.tags.includes(tag)) {\n return true;\n }\n return tagCountMap[tag] > 1;\n }\n );\n\n // Write it to cache\n cache.writeQuery({\n query: LIST_TAGS,\n variables: { where: getWhere(queryParams.scope) },\n data: set(data, \"fileManager.listTags\", filteredTags)\n });\n }\n }\n );\n const { showSnackbar } = useSnackbar();\n\n const renderDeleteImageAction = useCallback(file => {\n if (!canDelete(file)) {\n return null;\n }\n const fileDeleteConfirmationProps = {\n title: t`Delete file`,\n message: file && (\n <span>\n {t`You're about to delete file {name}. Are you sure you want to continue?`({\n name: file.name\n })}\n </span>\n )\n };\n return (\n <ConfirmationDialog\n {...fileDeleteConfirmationProps}\n data-testid={\"fm-delete-file-confirmation-dialog\"}\n style={{ zIndex: 100 }}\n >\n {({ showConfirmation }) => {\n return (\n <Tooltip\n content={\n isImage(file) ? (\n <span>{t`Delete image`}</span>\n ) : (\n <span>{t`Delete file`}</span>\n )\n }\n placement={\"bottom\"}\n >\n <IconButton\n data-testid={\"fm-delete-file-button\"}\n icon={<DeleteIcon style={{ margin: \"0 8px 0 0\" }} />}\n onClick={() =>\n showConfirmation(async () => {\n await deleteFile({\n variables: {\n id: file.id\n }\n });\n showSnackbar(t`File deleted successfully.`);\n })\n }\n />\n </Tooltip>\n );\n }}\n </ConfirmationDialog>\n );\n }, []);\n\n const fileTypeIcon = useMemo(() => {\n if (file && typeof file.type === \"string\") {\n return file.type.includes(\"image\") ? <ImageIcon /> : <FileIcon />;\n }\n return <ImageIcon />;\n }, [file]);\n\n return (\n <Drawer\n className={fileDetailsSidebar}\n dir=\"rtl\"\n modal\n open={Boolean(file)}\n onClose={hideFileDetails}\n data-testid={\"fm.file-details.drawer\"}\n >\n {file && (\n <div className={style.wrapper} dir=\"ltr\">\n <div className={style.header}>\n <Typography use={\"headline5\"}>{t`File details`}</Typography>\n </div>\n <div\n className={classNames(style.preview, {\n dark: darkImageBackground\n })}\n >\n {filePlugin &&\n filePlugin.render({\n /**\n * TODO: @ts-refactor\n * Figure out which type is the file\n */\n // @ts-ignore\n file,\n uploadFile,\n validateFiles\n })}\n </div>\n <div className={style.download}>\n <>\n <Tooltip content={<span>{t`Copy URL`}</span>} placement={\"bottom\"}>\n <IconButton\n onClick={() => {\n navigator.clipboard.writeText(file.src);\n showSnackbar(t`URL copied successfully.`);\n }}\n icon={<CopyContentIcon style={{ margin: \"0 8px 0 0\" }} />}\n />\n </Tooltip>\n\n {actions.map((Component: React.FC, index: number) => (\n <Component key={index} {...props} />\n ))}\n {renderDeleteImageAction(file)}\n {/* Render background switcher */}\n <Tooltip content={t`Toggle background`} placement={\"bottom\"}>\n <IconButton\n icon={<HighlightIcon />}\n onClick={() => setDarkImageBackground(!darkImageBackground)}\n className={classNames({ \"icon--active\": darkImageBackground })}\n />\n </Tooltip>\n </>\n </div>\n <DrawerContent dir=\"ltr\" className={style.drawerContent}>\n <ul className={style.list}>\n <li>\n <Name {...props} />\n </li>\n <li>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={fileTypeIcon} />\n <div>\n <Typography use={\"subtitle1\"}>{file.type}</Typography>{\" \"}\n {\" - \"}\n <Typography use={\"subtitle1\"}>\n {bytes.format(file.size, { unitSeparator: \" \" })}\n </Typography>\n </div>\n </li-title>\n </li>\n <li>\n <li-title>\n <Icon className={\"list-item__icon\"} icon={<CalendarIcon />} />\n <div>\n <Typography use={\"subtitle1\"}>\n {dayjs(file.createdOn).format(\"DD MMM YYYY [at] HH:mm\")}\n </Typography>\n </div>\n </li-title>\n </li>\n <li>\n <Tags key={props.file.id} {...props} />\n </li>\n </ul>\n </DrawerContent>\n </div>\n )}\n </Drawer>\n );\n};\n\nexport default FileDetails;\n"],"mappings":"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"}
@@ -1,9 +1,24 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _objectSpread from "@babel/runtime/helpers/objectSpread2";
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.getWhere = exports.FileManagerProvider = void 0;
9
+ exports.useFileManager = useFileManager;
10
+
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
+
15
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
16
+
17
+ var _react = _interopRequireDefault(require("react"));
18
+
19
+ var _appSecurity = require("@webiny/app-security");
20
+
4
21
  var _excluded = ["children"];
5
- import React from "react";
6
- import { useSecurity } from "@webiny/app-security";
7
22
  var ListFilesSort;
8
23
 
9
24
  (function (ListFilesSort) {
@@ -14,7 +29,8 @@ var ListFilesSort;
14
29
  })(ListFilesSort || (ListFilesSort = {}));
15
30
 
16
31
  var DEFAULT_SCOPE = "scope:";
17
- export var getWhere = function getWhere(scope) {
32
+
33
+ var getWhere = function getWhere(scope) {
18
34
  if (!scope) {
19
35
  return {
20
36
  tag_not_startsWith: DEFAULT_SCOPE
@@ -26,6 +42,8 @@ export var getWhere = function getWhere(scope) {
26
42
  };
27
43
  };
28
44
 
45
+ exports.getWhere = getWhere;
46
+
29
47
  var init = function init(_ref) {
30
48
  var accept = _ref.accept,
31
49
  tags = _ref.tags,
@@ -45,7 +63,7 @@ var init = function init(_ref) {
45
63
  types: accept,
46
64
  limit: 50,
47
65
  sort: ListFilesSort.CREATED_ON_DESC,
48
- where: _objectSpread(_objectSpread({}, initialWhere), getWhere(scope))
66
+ where: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, initialWhere), getWhere(scope))
49
67
  },
50
68
  dragging: false,
51
69
  uploading: false
@@ -53,7 +71,7 @@ var init = function init(_ref) {
53
71
  };
54
72
 
55
73
  var fileManagerReducer = function fileManagerReducer(state, action) {
56
- var next = _objectSpread({}, state);
74
+ var next = (0, _objectSpread2.default)({}, state);
57
75
 
58
76
  switch (action.type) {
59
77
  case "toggleSelected":
@@ -74,7 +92,7 @@ var fileManagerReducer = function fileManagerReducer(state, action) {
74
92
  case "queryParams":
75
93
  {
76
94
  next.selected = [];
77
- next.queryParams = _objectSpread(_objectSpread(_objectSpread({}, state.queryParams), action.queryParams), {}, {
95
+ next.queryParams = (0, _objectSpread2.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, state.queryParams), action.queryParams), {}, {
78
96
  types: state.queryParams.types,
79
97
  limit: 40,
80
98
  sort: ListFilesSort.CREATED_ON_DESC
@@ -110,13 +128,13 @@ var fileManagerReducer = function fileManagerReducer(state, action) {
110
128
  return next;
111
129
  };
112
130
 
113
- var FileManagerContext = /*#__PURE__*/React.createContext({});
131
+ var FileManagerContext = /*#__PURE__*/_react.default.createContext({});
114
132
 
115
133
  var FileManagerProvider = function FileManagerProvider(_ref2) {
116
134
  var children = _ref2.children,
117
- props = _objectWithoutProperties(_ref2, _excluded);
135
+ props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
118
136
 
119
- var _useSecurity = useSecurity(),
137
+ var _useSecurity = (0, _appSecurity.useSecurity)(),
120
138
  identity = _useSecurity.identity;
121
139
  /**
122
140
  * TODO @ts-refactor
@@ -125,26 +143,29 @@ var FileManagerProvider = function FileManagerProvider(_ref2) {
125
143
  // @ts-ignore
126
144
 
127
145
 
128
- var _React$useReducer = React.useReducer(fileManagerReducer, _objectSpread(_objectSpread({}, props), {}, {
146
+ var _React$useReducer = _react.default.useReducer(fileManagerReducer, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
129
147
  identity: identity
130
148
  }), init),
131
- _React$useReducer2 = _slicedToArray(_React$useReducer, 2),
149
+ _React$useReducer2 = (0, _slicedToArray2.default)(_React$useReducer, 2),
132
150
  state = _React$useReducer2[0],
133
151
  dispatch = _React$useReducer2[1];
134
152
 
135
- var value = React.useMemo(function () {
153
+ var value = _react.default.useMemo(function () {
136
154
  return {
137
155
  state: state,
138
156
  dispatch: dispatch
139
157
  };
140
158
  }, [state]);
141
- return /*#__PURE__*/React.createElement(FileManagerContext.Provider, Object.assign({
159
+
160
+ return /*#__PURE__*/_react.default.createElement(FileManagerContext.Provider, Object.assign({
142
161
  value: value
143
162
  }, props), children);
144
163
  };
145
164
 
165
+ exports.FileManagerProvider = FileManagerProvider;
166
+
146
167
  function useFileManager() {
147
- var context = React.useContext(FileManagerContext);
168
+ var context = _react.default.useContext(FileManagerContext);
148
169
 
149
170
  if (!context) {
150
171
  throw new Error("useFileManager must be used within a FileManagerProvider");
@@ -206,6 +227,4 @@ function useFileManager() {
206
227
  state: state,
207
228
  dispatch: dispatch
208
229
  };
209
- }
210
-
211
- export { FileManagerProvider, useFileManager };
230
+ }
@@ -1 +1 @@
1
- {"version":3,"sources":["FileManagerContext.tsx"],"names":["React","useSecurity","ListFilesSort","DEFAULT_SCOPE","getWhere","scope","tag_not_startsWith","tag_startsWith","init","accept","tags","own","identity","initialWhere","createdBy","id","showingFileDetails","selected","hasPreviouslyUploadedFiles","queryParams","types","limit","sort","CREATED_ON_DESC","where","dragging","uploading","fileManagerReducer","state","action","next","type","existingIndex","findIndex","item","src","file","push","splice","FileManagerContext","createContext","FileManagerProvider","children","props","useReducer","dispatch","value","useMemo","useFileManager","context","useContext","Error","toggleSelected","setHasPreviouslyUploadedFiles","setQueryParams","setDragging","setUploading","showFileDetails","hideFileDetails"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { FileItem } from \"./types\";\nimport { useSecurity } from \"@webiny/app-security\";\n\nenum ListFilesSort {\n CREATED_ON_ASC,\n CREATED_ON_DESC,\n SIZE_ASC,\n SIZE_DESC\n}\n\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\ninterface InitParams {\n accept: string[];\n tags: string[];\n scope: string;\n own: boolean;\n identity: any;\n}\ninterface StateQueryParams {\n types: string[];\n limit: number;\n sort: number;\n tags: string[];\n scope: string;\n where: Record<string, any>;\n}\ninterface State {\n showingFileDetails: string | null;\n selected: FileItem[];\n hasPreviouslyUploadedFiles: boolean | null;\n queryParams: StateQueryParams;\n dragging: boolean;\n uploading: boolean;\n}\nconst init = ({ accept, tags, scope, own, identity }: InitParams): State => {\n const initialWhere = own ? { createdBy: identity.id } : {};\n return {\n showingFileDetails: null,\n selected: [],\n hasPreviouslyUploadedFiles: null,\n queryParams: {\n scope,\n tags,\n types: accept,\n limit: 50,\n sort: ListFilesSort.CREATED_ON_DESC,\n where: { ...initialWhere, ...getWhere(scope) }\n },\n dragging: false,\n uploading: false\n };\n};\n\ninterface Action {\n type:\n | \"toggleSelected\"\n | \"queryParams\"\n | \"showFileDetails\"\n | \"dragging\"\n | \"hasPreviouslyUploadedFiles\"\n | \"uploading\";\n file: FileItem;\n queryParams: StateQueryParams;\n src: string;\n state: boolean;\n hasPreviouslyUploadedFiles: boolean;\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\n\nconst fileManagerReducer: Reducer = (state: State, action) => {\n const next: State = {\n ...state\n };\n switch (action.type) {\n case \"toggleSelected\": {\n const existingIndex = state.selected.findIndex(item => item.src === action.file.src);\n if (existingIndex < 0) {\n next.selected.push(action.file);\n } else {\n next.selected.splice(existingIndex, 1);\n }\n break;\n }\n case \"queryParams\": {\n next.selected = [];\n next.queryParams = {\n ...state.queryParams,\n ...action.queryParams,\n types: state.queryParams.types,\n limit: 40,\n sort: ListFilesSort.CREATED_ON_DESC\n };\n break;\n }\n case \"showFileDetails\": {\n next.showingFileDetails = action.src;\n break;\n }\n case \"dragging\": {\n next.dragging = action.state;\n break;\n }\n case \"hasPreviouslyUploadedFiles\": {\n next.hasPreviouslyUploadedFiles = action.hasPreviouslyUploadedFiles;\n break;\n }\n case \"uploading\": {\n next.uploading = action.state;\n break;\n }\n }\n\n return next;\n};\n\nconst FileManagerContext = React.createContext({});\n\nconst FileManagerProvider: React.FC = ({ children, ...props }) => {\n const { identity } = useSecurity();\n /**\n * TODO @ts-refactor\n * Figure out how to type the rest of the types.\n */\n // @ts-ignore\n const [state, dispatch] = React.useReducer(fileManagerReducer, { ...props, identity }, init);\n\n const value = React.useMemo(() => {\n return {\n state,\n dispatch\n };\n }, [state]);\n\n return (\n <FileManagerContext.Provider value={value} {...props}>\n {children}\n </FileManagerContext.Provider>\n );\n};\n\nfunction useFileManager() {\n const context: any = React.useContext(FileManagerContext);\n if (!context) {\n throw new Error(\"useFileManager must be used within a FileManagerProvider\");\n }\n\n const { state, dispatch } = context;\n return {\n selected: state.selected,\n toggleSelected(file: FileItem) {\n dispatch({\n type: \"toggleSelected\",\n file\n });\n },\n hasPreviouslyUploadedFiles: state.hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles(hasPreviouslyUploadedFiles: boolean) {\n dispatch({ type: \"hasPreviouslyUploadedFiles\", hasPreviouslyUploadedFiles });\n },\n queryParams: state.queryParams,\n setQueryParams(queryParams: StateQueryParams) {\n dispatch({ type: \"queryParams\", queryParams });\n },\n setDragging(state = true) {\n dispatch({\n type: \"dragging\",\n state\n });\n },\n dragging: state.dragging,\n setUploading(state = true) {\n dispatch({\n type: \"uploading\",\n state\n });\n },\n uploading: state.uploading,\n showFileDetails(src: string) {\n dispatch({ type: \"showFileDetails\", src });\n },\n hideFileDetails() {\n dispatch({ type: \"showFileDetails\", src: null });\n },\n showingFileDetails: state.showingFileDetails,\n state,\n dispatch\n };\n}\n\nexport { FileManagerProvider, useFileManager };\n"]}
1
+ {"version":3,"names":["ListFilesSort","DEFAULT_SCOPE","getWhere","scope","tag_not_startsWith","tag_startsWith","init","accept","tags","own","identity","initialWhere","createdBy","id","showingFileDetails","selected","hasPreviouslyUploadedFiles","queryParams","types","limit","sort","CREATED_ON_DESC","where","dragging","uploading","fileManagerReducer","state","action","next","type","existingIndex","findIndex","item","src","file","push","splice","FileManagerContext","React","createContext","FileManagerProvider","children","props","useSecurity","useReducer","dispatch","value","useMemo","useFileManager","context","useContext","Error","toggleSelected","setHasPreviouslyUploadedFiles","setQueryParams","setDragging","setUploading","showFileDetails","hideFileDetails"],"sources":["FileManagerContext.tsx"],"sourcesContent":["import React from \"react\";\nimport { FileItem } from \"./types\";\nimport { useSecurity } from \"@webiny/app-security\";\n\nenum ListFilesSort {\n CREATED_ON_ASC,\n CREATED_ON_DESC,\n SIZE_ASC,\n SIZE_DESC\n}\n\nconst DEFAULT_SCOPE = \"scope:\";\n\nexport const getWhere = (scope: string | undefined) => {\n if (!scope) {\n return {\n tag_not_startsWith: DEFAULT_SCOPE\n };\n }\n return {\n tag_startsWith: scope\n };\n};\n\ninterface InitParams {\n accept: string[];\n tags: string[];\n scope: string;\n own: boolean;\n identity: any;\n}\ninterface StateQueryParams {\n types: string[];\n limit: number;\n sort: number;\n tags: string[];\n scope: string;\n where: Record<string, any>;\n}\ninterface State {\n showingFileDetails: string | null;\n selected: FileItem[];\n hasPreviouslyUploadedFiles: boolean | null;\n queryParams: StateQueryParams;\n dragging: boolean;\n uploading: boolean;\n}\nconst init = ({ accept, tags, scope, own, identity }: InitParams): State => {\n const initialWhere = own ? { createdBy: identity.id } : {};\n return {\n showingFileDetails: null,\n selected: [],\n hasPreviouslyUploadedFiles: null,\n queryParams: {\n scope,\n tags,\n types: accept,\n limit: 50,\n sort: ListFilesSort.CREATED_ON_DESC,\n where: { ...initialWhere, ...getWhere(scope) }\n },\n dragging: false,\n uploading: false\n };\n};\n\ninterface Action {\n type:\n | \"toggleSelected\"\n | \"queryParams\"\n | \"showFileDetails\"\n | \"dragging\"\n | \"hasPreviouslyUploadedFiles\"\n | \"uploading\";\n file: FileItem;\n queryParams: StateQueryParams;\n src: string;\n state: boolean;\n hasPreviouslyUploadedFiles: boolean;\n}\ninterface Reducer {\n (prev: State, action: Action): State;\n}\n\nconst fileManagerReducer: Reducer = (state: State, action) => {\n const next: State = {\n ...state\n };\n switch (action.type) {\n case \"toggleSelected\": {\n const existingIndex = state.selected.findIndex(item => item.src === action.file.src);\n if (existingIndex < 0) {\n next.selected.push(action.file);\n } else {\n next.selected.splice(existingIndex, 1);\n }\n break;\n }\n case \"queryParams\": {\n next.selected = [];\n next.queryParams = {\n ...state.queryParams,\n ...action.queryParams,\n types: state.queryParams.types,\n limit: 40,\n sort: ListFilesSort.CREATED_ON_DESC\n };\n break;\n }\n case \"showFileDetails\": {\n next.showingFileDetails = action.src;\n break;\n }\n case \"dragging\": {\n next.dragging = action.state;\n break;\n }\n case \"hasPreviouslyUploadedFiles\": {\n next.hasPreviouslyUploadedFiles = action.hasPreviouslyUploadedFiles;\n break;\n }\n case \"uploading\": {\n next.uploading = action.state;\n break;\n }\n }\n\n return next;\n};\n\nconst FileManagerContext = React.createContext({});\n\nconst FileManagerProvider: React.FC = ({ children, ...props }) => {\n const { identity } = useSecurity();\n /**\n * TODO @ts-refactor\n * Figure out how to type the rest of the types.\n */\n // @ts-ignore\n const [state, dispatch] = React.useReducer(fileManagerReducer, { ...props, identity }, init);\n\n const value = React.useMemo(() => {\n return {\n state,\n dispatch\n };\n }, [state]);\n\n return (\n <FileManagerContext.Provider value={value} {...props}>\n {children}\n </FileManagerContext.Provider>\n );\n};\n\nfunction useFileManager() {\n const context: any = React.useContext(FileManagerContext);\n if (!context) {\n throw new Error(\"useFileManager must be used within a FileManagerProvider\");\n }\n\n const { state, dispatch } = context;\n return {\n selected: state.selected,\n toggleSelected(file: FileItem) {\n dispatch({\n type: \"toggleSelected\",\n file\n });\n },\n hasPreviouslyUploadedFiles: state.hasPreviouslyUploadedFiles,\n setHasPreviouslyUploadedFiles(hasPreviouslyUploadedFiles: boolean) {\n dispatch({ type: \"hasPreviouslyUploadedFiles\", hasPreviouslyUploadedFiles });\n },\n queryParams: state.queryParams,\n setQueryParams(queryParams: StateQueryParams) {\n dispatch({ type: \"queryParams\", queryParams });\n },\n setDragging(state = true) {\n dispatch({\n type: \"dragging\",\n state\n });\n },\n dragging: state.dragging,\n setUploading(state = true) {\n dispatch({\n type: \"uploading\",\n state\n });\n },\n uploading: state.uploading,\n showFileDetails(src: string) {\n dispatch({ type: \"showFileDetails\", src });\n },\n hideFileDetails() {\n dispatch({ type: \"showFileDetails\", src: null });\n },\n showingFileDetails: state.showingFileDetails,\n state,\n dispatch\n };\n}\n\nexport { FileManagerProvider, useFileManager };\n"],"mappings":";;;;;;;;;;;;;;;;AAAA;;AAEA;;;IAEKA,a;;WAAAA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;EAAAA,a,CAAAA,a;GAAAA,a,KAAAA,a;;AAOL,IAAMC,aAAa,GAAG,QAAtB;;AAEO,IAAMC,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAA+B;EACnD,IAAI,CAACA,KAAL,EAAY;IACR,OAAO;MACHC,kBAAkB,EAAEH;IADjB,CAAP;EAGH;;EACD,OAAO;IACHI,cAAc,EAAEF;EADb,CAAP;AAGH,CATM;;;;AAkCP,IAAMG,IAAI,GAAG,SAAPA,IAAO,OAA+D;EAAA,IAA5DC,MAA4D,QAA5DA,MAA4D;EAAA,IAApDC,IAAoD,QAApDA,IAAoD;EAAA,IAA9CL,KAA8C,QAA9CA,KAA8C;EAAA,IAAvCM,GAAuC,QAAvCA,GAAuC;EAAA,IAAlCC,QAAkC,QAAlCA,QAAkC;EACxE,IAAMC,YAAY,GAAGF,GAAG,GAAG;IAAEG,SAAS,EAAEF,QAAQ,CAACG;EAAtB,CAAH,GAAgC,EAAxD;EACA,OAAO;IACHC,kBAAkB,EAAE,IADjB;IAEHC,QAAQ,EAAE,EAFP;IAGHC,0BAA0B,EAAE,IAHzB;IAIHC,WAAW,EAAE;MACTd,KAAK,EAALA,KADS;MAETK,IAAI,EAAJA,IAFS;MAGTU,KAAK,EAAEX,MAHE;MAITY,KAAK,EAAE,EAJE;MAKTC,IAAI,EAAEpB,aAAa,CAACqB,eALX;MAMTC,KAAK,8DAAOX,YAAP,GAAwBT,QAAQ,CAACC,KAAD,CAAhC;IANI,CAJV;IAYHoB,QAAQ,EAAE,KAZP;IAaHC,SAAS,EAAE;EAbR,CAAP;AAeH,CAjBD;;AAqCA,IAAMC,kBAA2B,GAAG,SAA9BA,kBAA8B,CAACC,KAAD,EAAeC,MAAf,EAA0B;EAC1D,IAAMC,IAAW,mCACVF,KADU,CAAjB;;EAGA,QAAQC,MAAM,CAACE,IAAf;IACI,KAAK,gBAAL;MAAuB;QACnB,IAAMC,aAAa,GAAGJ,KAAK,CAACX,QAAN,CAAegB,SAAf,CAAyB,UAAAC,IAAI;UAAA,OAAIA,IAAI,CAACC,GAAL,KAAaN,MAAM,CAACO,IAAP,CAAYD,GAA7B;QAAA,CAA7B,CAAtB;;QACA,IAAIH,aAAa,GAAG,CAApB,EAAuB;UACnBF,IAAI,CAACb,QAAL,CAAcoB,IAAd,CAAmBR,MAAM,CAACO,IAA1B;QACH,CAFD,MAEO;UACHN,IAAI,CAACb,QAAL,CAAcqB,MAAd,CAAqBN,aAArB,EAAoC,CAApC;QACH;;QACD;MACH;;IACD,KAAK,aAAL;MAAoB;QAChBF,IAAI,CAACb,QAAL,GAAgB,EAAhB;QACAa,IAAI,CAACX,WAAL,2FACOS,KAAK,CAACT,WADb,GAEOU,MAAM,CAACV,WAFd;UAGIC,KAAK,EAAEQ,KAAK,CAACT,WAAN,CAAkBC,KAH7B;UAIIC,KAAK,EAAE,EAJX;UAKIC,IAAI,EAAEpB,aAAa,CAACqB;QALxB;QAOA;MACH;;IACD,KAAK,iBAAL;MAAwB;QACpBO,IAAI,CAACd,kBAAL,GAA0Ba,MAAM,CAACM,GAAjC;QACA;MACH;;IACD,KAAK,UAAL;MAAiB;QACbL,IAAI,CAACL,QAAL,GAAgBI,MAAM,CAACD,KAAvB;QACA;MACH;;IACD,KAAK,4BAAL;MAAmC;QAC/BE,IAAI,CAACZ,0BAAL,GAAkCW,MAAM,CAACX,0BAAzC;QACA;MACH;;IACD,KAAK,WAAL;MAAkB;QACdY,IAAI,CAACJ,SAAL,GAAiBG,MAAM,CAACD,KAAxB;QACA;MACH;EApCL;;EAuCA,OAAOE,IAAP;AACH,CA5CD;;AA8CA,IAAMS,kBAAkB,gBAAGC,cAAA,CAAMC,aAAN,CAAoB,EAApB,CAA3B;;AAEA,IAAMC,mBAA6B,GAAG,SAAhCA,mBAAgC,QAA4B;EAAA,IAAzBC,QAAyB,SAAzBA,QAAyB;EAAA,IAAZC,KAAY;;EAC9D,mBAAqB,IAAAC,wBAAA,GAArB;EAAA,IAAQjC,QAAR,gBAAQA,QAAR;EACA;AACJ;AACA;AACA;EACI;;;EACA,wBAA0B4B,cAAA,CAAMM,UAAN,CAAiBnB,kBAAjB,8DAA0CiB,KAA1C;IAAiDhC,QAAQ,EAARA;EAAjD,IAA6DJ,IAA7D,CAA1B;EAAA;EAAA,IAAOoB,KAAP;EAAA,IAAcmB,QAAd;;EAEA,IAAMC,KAAK,GAAGR,cAAA,CAAMS,OAAN,CAAc,YAAM;IAC9B,OAAO;MACHrB,KAAK,EAALA,KADG;MAEHmB,QAAQ,EAARA;IAFG,CAAP;EAIH,CALa,EAKX,CAACnB,KAAD,CALW,CAAd;;EAOA,oBACI,6BAAC,kBAAD,CAAoB,QAApB;IAA6B,KAAK,EAAEoB;EAApC,GAA+CJ,KAA/C,GACKD,QADL,CADJ;AAKH,CArBD;;;;AAuBA,SAASO,cAAT,GAA0B;EACtB,IAAMC,OAAY,GAAGX,cAAA,CAAMY,UAAN,CAAiBb,kBAAjB,CAArB;;EACA,IAAI,CAACY,OAAL,EAAc;IACV,MAAM,IAAIE,KAAJ,CAAU,0DAAV,CAAN;EACH;;EAED,IAAQzB,KAAR,GAA4BuB,OAA5B,CAAQvB,KAAR;EAAA,IAAemB,QAAf,GAA4BI,OAA5B,CAAeJ,QAAf;EACA,OAAO;IACH9B,QAAQ,EAAEW,KAAK,CAACX,QADb;IAEHqC,cAFG,0BAEYlB,IAFZ,EAE4B;MAC3BW,QAAQ,CAAC;QACLhB,IAAI,EAAE,gBADD;QAELK,IAAI,EAAJA;MAFK,CAAD,CAAR;IAIH,CAPE;IAQHlB,0BAA0B,EAAEU,KAAK,CAACV,0BAR/B;IASHqC,6BATG,yCAS2BrC,0BAT3B,EASgE;MAC/D6B,QAAQ,CAAC;QAAEhB,IAAI,EAAE,4BAAR;QAAsCb,0BAA0B,EAA1BA;MAAtC,CAAD,CAAR;IACH,CAXE;IAYHC,WAAW,EAAES,KAAK,CAACT,WAZhB;IAaHqC,cAbG,0BAaYrC,WAbZ,EAa2C;MAC1C4B,QAAQ,CAAC;QAAEhB,IAAI,EAAE,aAAR;QAAuBZ,WAAW,EAAXA;MAAvB,CAAD,CAAR;IACH,CAfE;IAgBHsC,WAhBG,yBAgBuB;MAAA,IAAd7B,KAAc,uEAAN,IAAM;MACtBmB,QAAQ,CAAC;QACLhB,IAAI,EAAE,UADD;QAELH,KAAK,EAALA;MAFK,CAAD,CAAR;IAIH,CArBE;IAsBHH,QAAQ,EAAEG,KAAK,CAACH,QAtBb;IAuBHiC,YAvBG,0BAuBwB;MAAA,IAAd9B,KAAc,uEAAN,IAAM;MACvBmB,QAAQ,CAAC;QACLhB,IAAI,EAAE,WADD;QAELH,KAAK,EAALA;MAFK,CAAD,CAAR;IAIH,CA5BE;IA6BHF,SAAS,EAAEE,KAAK,CAACF,SA7Bd;IA8BHiC,eA9BG,2BA8BaxB,GA9Bb,EA8B0B;MACzBY,QAAQ,CAAC;QAAEhB,IAAI,EAAE,iBAAR;QAA2BI,GAAG,EAAHA;MAA3B,CAAD,CAAR;IACH,CAhCE;IAiCHyB,eAjCG,6BAiCe;MACdb,QAAQ,CAAC;QAAEhB,IAAI,EAAE,iBAAR;QAA2BI,GAAG,EAAE;MAAhC,CAAD,CAAR;IACH,CAnCE;IAoCHnB,kBAAkB,EAAEY,KAAK,CAACZ,kBApCvB;IAqCHY,KAAK,EAALA,KArCG;IAsCHmB,QAAQ,EAARA;EAtCG,CAAP;AAwCH"}