wcz-test 6.24.2 → 6.24.3

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 (48) hide show
  1. package/dist/chunks/ApprovalStatus-BtAVFn5p.js.map +1 -0
  2. package/dist/chunks/DialogsContext-DoU_8Eeu.js +6 -0
  3. package/dist/chunks/DialogsContext-DoU_8Eeu.js.map +1 -0
  4. package/dist/{DialogsHooks-BQVpqCq9.js → chunks/DialogsHooks-DOT0O_b4.js} +17 -16
  5. package/dist/chunks/DialogsHooks-DOT0O_b4.js.map +1 -0
  6. package/dist/chunks/FileHooks-CF1bPDoe.js +493 -0
  7. package/dist/chunks/FileHooks-CF1bPDoe.js.map +1 -0
  8. package/dist/chunks/FileMeta-G1oT3mYK.js.map +1 -0
  9. package/dist/chunks/RouterListItemButton-DTYXk1kh.js +35 -0
  10. package/dist/chunks/RouterListItemButton-DTYXk1kh.js.map +1 -0
  11. package/dist/chunks/env-gsqZ6zZD.js.map +1 -0
  12. package/dist/chunks/queryClient-CNvC95mU.js.map +1 -0
  13. package/dist/chunks/session-vW7WZadj.js.map +1 -0
  14. package/dist/chunks/utils-MD9YwOtu.js.map +1 -0
  15. package/dist/client.js +1 -1
  16. package/dist/components.js +99 -99
  17. package/dist/components.js.map +1 -1
  18. package/dist/hooks.js +47 -47
  19. package/dist/hooks.js.map +1 -1
  20. package/dist/index.js +1680 -105
  21. package/dist/index.js.map +1 -1
  22. package/dist/models.js +2 -2
  23. package/dist/queries.js +27 -27
  24. package/dist/queries.js.map +1 -1
  25. package/dist/server.js +2 -2
  26. package/dist/utils.js +1 -1
  27. package/package.json +5 -6
  28. package/dist/ApprovalStatus-BtAVFn5p.js.map +0 -1
  29. package/dist/DialogsContext-BKtkEAfL.js +0 -306
  30. package/dist/DialogsContext-BKtkEAfL.js.map +0 -1
  31. package/dist/DialogsHooks-BQVpqCq9.js.map +0 -1
  32. package/dist/FileHooks-Cg9ver7z.js +0 -3478
  33. package/dist/FileHooks-Cg9ver7z.js.map +0 -1
  34. package/dist/FileMeta-G1oT3mYK.js.map +0 -1
  35. package/dist/RouterListItemButton-IUVgwnz3.js +0 -35
  36. package/dist/RouterListItemButton-IUVgwnz3.js.map +0 -1
  37. package/dist/compiler-runtime-BGHur82y.js +0 -46
  38. package/dist/compiler-runtime-BGHur82y.js.map +0 -1
  39. package/dist/env-gsqZ6zZD.js.map +0 -1
  40. package/dist/queryClient-CNvC95mU.js.map +0 -1
  41. package/dist/session-vW7WZadj.js.map +0 -1
  42. package/dist/utils-MD9YwOtu.js.map +0 -1
  43. /package/dist/{ApprovalStatus-BtAVFn5p.js → chunks/ApprovalStatus-BtAVFn5p.js} +0 -0
  44. /package/dist/{FileMeta-G1oT3mYK.js → chunks/FileMeta-G1oT3mYK.js} +0 -0
  45. /package/dist/{env-gsqZ6zZD.js → chunks/env-gsqZ6zZD.js} +0 -0
  46. /package/dist/{queryClient-CNvC95mU.js → chunks/queryClient-CNvC95mU.js} +0 -0
  47. /package/dist/{session-vW7WZadj.js → chunks/session-vW7WZadj.js} +0 -0
  48. /package/dist/{utils-MD9YwOtu.js → chunks/utils-MD9YwOtu.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sources":["../src/components/core/TypographyWithIcon.tsx","../src/components/core/Fullscreen.tsx","../src/components/file/Dropzone.tsx","../src/contexts/FileContext.ts","../src/components/file/fileViewer/common/ActionsMenu.tsx","../src/components/file/fileViewer/FileViewerGrid.tsx","../src/components/file/fileViewer/FileViewerList.tsx","../src/components/file/fileViewer/ImageViewer.tsx","../src/components/file/FileViewer.tsx","../src/components/data-grid/ChipInputCell.tsx","../src/components/data-grid/EditableColumnHeader.tsx","../src/components/router/RouterButton.tsx","../src/components/router/RouterGridActionsCellItem.tsx","../src/components/router/RouterIconButton.tsx","../src/components/router/RouterLink.tsx","../src/components/router/RouterTab.tsx","../src/components/router/RouterNotFound.tsx","../src/components/router/RouterError.tsx"],"sourcesContent":["import { Stack, Typography } from \"@mui/material\";\nimport type { SxProps, Theme, TypographyProps } from \"@mui/material\";\n\ninterface TypographyWithIconProps extends TypographyProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nexport const TypographyWithIcon: React.FC<TypographyWithIconProps> = ({ startIcon, endIcon, children, sx, ...props }) => {\n const iconSx: SxProps<Theme> = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n lineHeight: 0,\n \"& > svg\": {\n display: \"block\",\n },\n };\n\n return (\n <Typography\n component=\"span\"\n sx={{\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"middle\",\n ...sx,\n }}\n gap={1}\n {...props}\n >\n {startIcon && (\n <Stack component=\"span\" sx={iconSx}>\n {startIcon}\n </Stack>\n )}\n <Stack component=\"span\" sx={{ display: \"inline\", lineHeight: \"inherit\" }}>\n {children}\n </Stack>\n {endIcon && (\n <Stack component=\"span\" sx={iconSx}>\n {endIcon}\n </Stack>\n )}\n </Typography>\n );\n};","import { Box } from \"@mui/material\";\nimport { useEffect, useEffectEvent, useRef, useState } from \"react\";\nimport type { BoxProps } from \"@mui/material\";\nimport type { FC } from \"react\";\n\nexport const Fullscreen: FC<BoxProps> = ({ children, sx, ...props }) => {\n const reference = useRef<HTMLDivElement | null>(null);\n const [height, setHeight] = useState<number>();\n\n const recompute = useEffectEvent(() => {\n if (!reference.current) return;\n const top = Math.ceil(reference.current.getBoundingClientRect().top);\n const avail = Math.max(0, window.innerHeight - top);\n setHeight(avail);\n });\n\n useEffect(() => {\n const element = reference.current;\n if (!element) return;\n\n recompute();\n\n window.addEventListener(\"resize\", recompute);\n\n const ro = new ResizeObserver(recompute);\n ro.observe(document.documentElement);\n ro.observe(document.body);\n ro.observe(element);\n\n return () => {\n window.removeEventListener(\"resize\", recompute);\n ro.disconnect();\n };\n }, []);\n\n return (\n <Box\n ref={reference}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n minHeight: 0,\n width: \"100%\",\n overflow: \"auto\",\n ...sx,\n }}\n height={height}\n {...props}\n >\n {children}\n </Box>\n );\n};","import CloudUpload from \"@mui/icons-material/CloudUpload\";\nimport { Paper, Typography, useTheme } from \"@mui/material\";\nimport { useDropzone } from \"react-dropzone\";\nimport { useTranslation } from \"react-i18next\";\nimport type { SxProps, Theme} from \"@mui/material\";\nimport type { CSSProperties, FC } from \"react\";\nimport type { DropzoneOptions} from \"react-dropzone\";\n\nconst baseStyle: CSSProperties = {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n padding: \"20px\",\n borderWidth: 2,\n borderRadius: 2,\n borderStyle: \"dashed\",\n outline: \"none\",\n transition: \"border .24s ease-in-out\",\n cursor: \"pointer\",\n};\n\ninterface DropzoneProps extends DropzoneOptions {\n sx?: SxProps<Theme>;\n}\n\nexport const Dropzone: FC<DropzoneProps> = ({ sx, ...props }) => {\n const { getRootProps, getInputProps, isFocused, isDragAccept, isDragReject, } = useDropzone(props);\n const { t } = useTranslation();\n const theme = useTheme();\n\n const style = {\n ...baseStyle,\n ...(isFocused ? { borderColor: theme.palette.primary.main } : {}),\n ...(isDragAccept ? { borderColor: theme.palette.success.main } : {}),\n ...(isDragReject ? { borderColor: theme.palette.error.main } : {})\n };\n\n return (\n <Paper variant=\"outlined\" {...getRootProps({ style })} sx={sx}>\n <input {...getInputProps()} style={{ display: \"none\" }} />\n <CloudUpload />\n <Typography>{t(\"Layout.File.DragSomeFilesHereOrClickToSelectThem\")}</Typography>\n </Paper>\n );\n};","import { createContext, useContext } from \"react\";\nimport type { FileMeta } from \"../models/file/FileMeta\";\nimport type { FileActions } from \"~/models/file/FileActions\";\n\nexport interface FileContextValue {\n fileMetas: Array<FileMeta>;\n onDelete?: (params: { remainingFileMetas: Array<FileMeta>; deletedFileMeta: FileMeta }) => void;\n actions?: FileActions;\n setImageId: (imageId: string) => void;\n};\n\nexport const FileContext = createContext<FileContextValue | null>(null);\n\nexport const useFile = () => {\n const context = useContext(FileContext);\n if (!context) {\n throw new Error(\"FileViewer components must be used within FileViewer\");\n }\n return context;\n};","import Delete from \"@mui/icons-material/Delete\";\nimport FileDownload from \"@mui/icons-material/FileDownload\";\nimport { List, ListItemButton, ListItemIcon, ListItemText, Menu } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport type { FC } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useDialogs } from \"~/hooks/DialogsHooks\";\nimport { useDeleteFile, useDownloadFile } from \"~/queries/FileHooks\";\n\ninterface ActionsMenuProps {\n meta: FileMeta;\n menu: { mouseX: number; mouseY: number } | null;\n setMenu: (menu: { mouseX: number; mouseY: number } | null) => void;\n}\n\nexport const ActionsMenu: FC<ActionsMenuProps> = ({ meta, menu, setMenu }) => {\n const { t } = useTranslation();\n const { fileMetas, onDelete, actions } = useFile();\n const { confirm } = useDialogs();\n\n const handleMenuClose = () => { setMenu(null); };\n\n const { mutate: download, isPending: isDownloading } = useDownloadFile();\n const { mutate: deleteFile, isPending: isDeleting } = useDeleteFile();\n\n const handleOnDownload = () => {\n handleMenuClose();\n download(meta);\n };\n\n const handleOnDelete = async () => {\n if (!await confirm(t(\"Layout.File.AreYouSureYouWantToDelete\", { fileName: meta.fileName })))\n return;\n\n deleteFile(meta);\n handleMenuClose();\n\n if (onDelete) {\n const remainingFileMetas: Array<FileMeta> = fileMetas.filter(m => m.id !== meta.id);\n onDelete({ remainingFileMetas, deletedFileMeta: meta });\n }\n };\n\n return (\n <Menu open={menu !== null} onClose={handleMenuClose} anchorReference=\"anchorPosition\" variant=\"menu\"\n anchorPosition={menu === null ? undefined : { top: menu.mouseY, left: menu.mouseX }}>\n <List disablePadding>\n {actions?.download !== false &&\n <ListItemButton onClick={handleOnDownload} disabled={isDownloading}>\n <ListItemIcon>\n <FileDownload />\n </ListItemIcon>\n <ListItemText>{t(\"Layout.File.Download\")}</ListItemText>\n </ListItemButton>\n }\n {actions?.delete !== false &&\n <ListItemButton onClick={handleOnDelete} disabled={isDeleting}>\n <ListItemIcon>\n <Delete />\n </ListItemIcon>\n <ListItemText>{t(\"Layout.File.Delete\")}</ListItemText>\n </ListItemButton>\n }\n </List>\n </Menu>\n );\n};\n","import MoreVert from \"@mui/icons-material/MoreVert\";\nimport { Box, IconButton, ImageListItem, ImageListItemBar, Stack, Tooltip } from \"@mui/material\";\nimport { grey } from \"@mui/material/colors\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { ActionsMenu } from \"./common/ActionsMenu\";\nimport type { SxProps, Theme } from \"@mui/material\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useDownloadFile, useGetFileThumbnail, useOpenFile } from \"~/queries/FileHooks\";\n\nconst IMAGE_SIZE = 150;\n\ntype FileViewerGridItemBar = \"hidden\" | \"always\" | \"onMouseEnter\";\n\nexport interface FileViewerGridProps {\n size?: number;\n itemBar?: FileViewerGridItemBar;\n sx?: SxProps<Theme>;\n}\n\nexport const FileViewerGrid: React.FC<FileViewerGridProps> = ({ sx, size, itemBar }) => {\n const { fileMetas } = useFile();\n\n return (\n <Stack direction=\"row\" spacing={1} sx={{ overflow: \"auto\", ...sx }}>\n {fileMetas.map(fileMeta => (\n <GridFileViewerItem\n key={fileMeta.id}\n meta={fileMeta}\n size={size}\n itemBar={itemBar}\n />\n ))}\n </Stack>\n );\n};\n\ninterface GridFileViewerItemProps {\n meta: FileMeta;\n size?: number;\n itemBar?: FileViewerGridItemBar;\n}\n\nexport const GridFileViewerItem: React.FC<GridFileViewerItemProps> = ({ meta, size, itemBar }) => {\n const { setImageId, actions } = useFile();\n const [showItemBar, setShowItemBar] = useState<boolean>(itemBar === \"always\");\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number; } | null>(null);\n const { ref, inView } = useInView();\n\n useEffect(() => {\n setShowItemBar(itemBar === \"always\");\n }, [itemBar]);\n\n const { data: source } = useGetFileThumbnail({ meta }, { enabled: inView });\n\n const handleOnMouseEnter = () => setShowItemBar(true);\n const handleOnMouseLeave = () => itemBar !== \"always\" && setShowItemBar(false);\n\n const openMenu = (event: React.MouseEvent) => {\n setMenu(menu === null ? { mouseX: event.clientX, mouseY: event.clientY, } : null);\n setTimeout(() => setShowItemBar(true));\n };\n\n const { mutate: openFile } = useOpenFile();\n const { mutate: download } = useDownloadFile();\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": { return setImageId(meta.id); }\n case \"application\": { return openFile(meta); }\n case \"video\": { return openFile(meta); }\n default: { return download(meta); }\n }\n };\n\n return (\n <Fragment>\n <ImageListItem sx={{ width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }} onMouseEnter={handleOnMouseEnter} onMouseLeave={handleOnMouseLeave} ref={ref}>\n <Box\n component=\"img\"\n src={source}\n loading=\"lazy\"\n alt={\"thumbnail-\" + meta.id}\n onClick={onClick}\n sx={{ cursor: \"pointer\", objectFit: \"contain\", width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }}\n />\n {(itemBar !== \"hidden\" && showItemBar) &&\n <ImageListItemBar\n title={\n <Tooltip title={meta.fileName}>\n <Box>\n {meta.fileName}\n </Box>\n </Tooltip>\n }\n actionIcon={\n (actions?.download !== false || actions.delete !== false) &&\n <IconButton sx={{ color: grey[100] }} onClick={openMenu}>\n <MoreVert />\n </IconButton>\n }\n />\n }\n </ImageListItem>\n\n {(actions?.download !== false || actions.delete !== false) && <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />}\n </Fragment>\n );\n};\n","import AttachFile from \"@mui/icons-material/AttachFile\";\nimport Image from \"@mui/icons-material/Image\";\nimport MoreVert from \"@mui/icons-material/MoreVert\";\nimport SmartDisplay from \"@mui/icons-material/SmartDisplay\";\nimport { IconButton, List, ListItemButton, ListItemIcon, ListItemText } from \"@mui/material\";\nimport { Fragment, useState } from \"react\";\nimport { ActionsMenu } from \"./common/ActionsMenu\";\nimport type { FC } from \"react\";\nimport type { SxProps, Theme } from \"@mui/material\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useDownloadFile, useOpenFile } from \"~/queries/FileHooks\";\n\nexport interface FileViewerListProps {\n sx?: SxProps<Theme>;\n}\n\nexport const FileViewerList: FC<FileViewerListProps> = ({ sx }) => {\n const { fileMetas } = useFile();\n\n return (\n <List dense sx={sx}>\n {fileMetas.map(fileMeta =>\n <ListFileViewerItem\n key={fileMeta.id}\n meta={fileMeta}\n />\n )}\n </List>\n );\n};\n\ninterface ListFileViewerItemProps {\n meta: FileMeta;\n}\n\nexport const ListFileViewerItem: React.FC<ListFileViewerItemProps> = ({ meta }) => {\n const { setImageId, actions } = useFile();\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number; } | null>(null);\n\n const openMenu = (event: React.MouseEvent) => {\n event.stopPropagation();\n setMenu(menu === null ? { mouseX: event.clientX, mouseY: event.clientY, } : null);\n };\n\n const { mutate: openFile } = useOpenFile();\n const { mutate: download } = useDownloadFile();\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": { return setImageId(meta.id); }\n case \"application\": { return openFile(meta); }\n case \"video\": { return openFile(meta); }\n default: { return download(meta); }\n }\n };\n\n const icon = () => {\n switch (meta.mediaType) {\n case \"image\": {\n return <Image />;\n }\n case \"video\": {\n return <SmartDisplay />;\n }\n default: {\n return <AttachFile />;\n }\n }\n };\n\n return (\n <Fragment>\n <ListItemButton key={meta.id} onClick={onClick}>\n <ListItemIcon>\n {icon()}\n </ListItemIcon>\n <ListItemText primary={`${meta.fileName}.${meta.fileExtension}`} />\n {(actions?.download !== false || actions.delete !== false) &&\n <IconButton edge=\"end\" onClick={openMenu}>\n <MoreVert />\n </IconButton>\n }\n </ListItemButton>\n\n {(actions?.download !== false || actions.delete !== false) && <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />}\n </Fragment>\n );\n};\n","import Close from \"@mui/icons-material/Close\";\nimport { Box, Dialog, Fab } from \"@mui/material\";\nimport React, { useEffect } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useGetFile } from \"~/queries/FileHooks\";\n\ninterface ImageViewerProps {\n metaId: string;\n}\n\nexport const ImageViewer: React.FC<ImageViewerProps> = ({ metaId }) => {\n const { fileMetas, setImageId } = useFile();\n\n const meta = fileMetas.find(m => m.id === metaId)!;\n\n const { data: source } = useGetFile({ meta });\n\n useEffect(() => {\n if (metaId)\n globalThis.addEventListener(\"keydown\", handleOnKeydown);\n\n return () => { globalThis.removeEventListener(\"keydown\", handleOnKeydown); };\n }, [metaId]);\n\n const handleOnKeydown = (event: KeyboardEvent) => {\n const images: Array<FileMeta> = fileMetas.filter(m => m.mediaType === \"image\");\n const imageIndex: number = images.findIndex(m => m.id === metaId);\n\n switch (event.key) {\n case \"ArrowLeft\": {\n return handleOnArrowLeft(images, imageIndex);\n }\n case \"ArrowRight\": {\n return handleOnArrowRight(images, imageIndex);\n }\n case \"Backspace\":\n case \"Escape\": {\n event.preventDefault();\n return onClose();\n }\n }\n };\n\n const handleOnArrowLeft = (images: Array<FileMeta>, index: number) => {\n if (index > 0) {\n const previousFile: FileMeta = images[index - 1];\n setImageId(previousFile.id);\n }\n };\n\n const handleOnArrowRight = (images: Array<FileMeta>, index: number) => {\n if (index < images.length - 1) {\n const nextFile: FileMeta = images[index + 1];\n setImageId(nextFile.id);\n }\n };\n\n const onClose = () => setImageId(\"\");\n\n if (!metaId) return null;\n\n return (\n <Dialog open onClose={onClose} maxWidth=\"xl\">\n <Box component=\"img\" src={source} alt={metaId} sx={{ maxWidth: \"100vw\", maxHeight: { xs: \"calc(100vh - 56px)\", sm: \"calc(100vh - 64px)\" } }} />\n\n <Fab size=\"medium\" onClick={onClose} sx={{ position: \"fixed\", top: 8, right: 8 }}>\n <Close />\n </Fab>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { FileViewerGrid } from \"./fileViewer/FileViewerGrid\";\nimport { FileViewerList } from \"./fileViewer/FileViewerList\";\nimport { ImageViewer } from \"./fileViewer/ImageViewer\";\nimport type { FileViewerGridProps } from \"./fileViewer/FileViewerGrid\";\nimport type { ComponentType, FC, ReactNode } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport type { FileActions } from \"~/models/file/FileActions\";\nimport type { FileViewerListProps } from \"./fileViewer/FileViewerList\";\nimport { FileContext } from \"~/contexts/FileContext\";\nimport { useGetFileMetas } from \"~/queries/FileHooks\";\n\ninterface FileViewerComponent {\n Grid: ComponentType<FileViewerGridProps>;\n List: ComponentType<FileViewerListProps>;\n}\n\ninterface FileViewerProps {\n subId: string;\n onDelete?: (params: { remainingFileMetas: Array<FileMeta>; deletedFileMeta: FileMeta }) => void;\n actions?: FileActions;\n children: (component: FileViewerComponent) => ReactNode;\n}\n\nexport const FileViewer: FC<FileViewerProps> = ({ subId, onDelete, actions, children }) => {\n const { data: fileMetas = [] } = useGetFileMetas({ subId }, { enabled: !!subId });\n const [imageId, setImageId] = useState<string>(\"\");\n\n const components: FileViewerComponent = { Grid: FileViewerGrid, List: FileViewerList };\n\n if (fileMetas.length === 0) return null;\n\n return (\n <FileContext.Provider value={{ fileMetas, onDelete, actions, setImageId }}>\n {children(components)}\n <ImageViewer metaId={imageId} />\n </FileContext.Provider>\n );\n};\n","import { Chip, Stack } from \"@mui/material\";\nimport type { ChipProps} from \"@mui/material\";\nimport type { GridRenderCellParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\n\nconst isArray = (value: any) => Array.isArray(value);\n\ninterface ChipInputCellProps<T extends GridValidRowModel> {\n params: GridRenderCellParams<T>;\n slotProps?: ChipProps;\n getLabel?: (object: T) => string | number;\n}\n\nexport const ChipInputCell = <T extends GridValidRowModel>({ params, slotProps, getLabel }: ChipInputCellProps<T>) => {\n if (!params.value) return null;\n\n const getLabelValue = (value: any) => {\n if (getLabel) return getLabel(value);\n return value;\n };\n\n if (isArray(params.value))\n return (\n <Stack direction=\"row\" alignItems=\"center\" gap={1} sx={{ overflowX: \"auto\", height: \"100%\", width: params.colDef.computedWidth }}>\n {params.value.map((value: any, index) =>\n <Chip key={`${index + 1}-chip-input-cell`} label={getLabelValue(value)} {...slotProps} />\n )}\n </Stack>\n );\n\n return <Chip label={getLabelValue(params.value)} {...slotProps} />;\n};","import Edit from \"@mui/icons-material/Edit\";\nimport { TypographyWithIcon } from \"../core/TypographyWithIcon\";\nimport type { GridColumnHeaderParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\n\nexport const EditableColumnHeader = <T extends GridValidRowModel>({ colDef }: GridColumnHeaderParams<T>) => {\n return <TypographyWithIcon endIcon={<Edit color=\"disabled\" fontSize=\"small\" />} variant=\"body2\" className=\"MuiDataGrid-columnHeaderTitle\">{colDef.headerName}</TypographyWithIcon>;\n};","import { Button } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { ButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, ButtonProps<\"a\">>(function ButtonComponent(props, reference) {\n return <Button ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { GridActionsCellItem } from \"@mui/x-data-grid-premium\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { GridActionsCellItemProps } from \"@mui/x-data-grid-premium\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLButtonElement, GridActionsCellItemProps>(\n function GridActionsCellItemComponent(props, reference) {\n return <GridActionsCellItem ref={reference} component=\"a\" {...props} />;\n }\n) as React.ForwardRefExoticComponent<GridActionsCellItemProps & React.RefAttributes<HTMLButtonElement>>;\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterGridActionsCellItem: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { IconButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { IconButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, IconButtonProps<\"a\">>(function IconButtonComponent(props, reference) {\n return <IconButton ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterIconButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Link } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { LinkProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, LinkProps>(function LinkComponent(props, reference) {\n return <Link ref={reference} {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterLink: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Tab } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { TabProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, TabProps<\"a\">>(function TabComponent(props, reference) {\n return <Tab ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterTab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Box, Divider, Typography } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\n\nexport function RouterNotFound() {\n const { t } = useTranslation();\n\n return (\n <Box height=\"100vh\" display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" textAlign=\"center\" px={2} >\n <Box display=\"flex\" alignItems=\"center\" mb={4}>\n <Typography variant=\"h3\" component=\"span\" fontWeight={500} sx={{ lineHeight: 1 }}>404</Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">{t(\"Layout.ThisPageCouldNotBeFound\")}</Typography>\n </Box>\n </Box>\n );\n}\n","import { Box, Divider, Typography } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { ErrorComponentProps } from \"@tanstack/react-router\";\n\ninterface RouterErrorProps {\n error: ErrorComponentProps[\"error\"];\n}\n\nexport const RouterError: FC<RouterErrorProps> = ({ error }) => {\n\n return (\n <Box height=\"100vh\" display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" textAlign=\"center\" px={2} >\n <Box display=\"flex\" alignItems=\"center\" mb={4}>\n <Typography variant=\"h3\" component=\"span\" fontWeight={500} sx={{ lineHeight: 1 }}>{error.name || \"500\"}</Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">{error.message}</Typography>\n </Box>\n </Box>\n );\n};\n"],"names":["TypographyWithIcon","t0","$","_c","children","endIcon","props","startIcon","sx","t1","Symbol","for","display","alignItems","justifyContent","flexShrink","lineHeight","iconSx","t2","verticalAlign","t3","jsx","t4","t5","t6","t7","jsxs","Fullscreen","reference","useRef","height","setHeight","useState","current","top","Math","ceil","getBoundingClientRect","avail","max","window","innerHeight","recompute","useEffectEvent","element","addEventListener","ro","ResizeObserver","observe","document","documentElement","body","removeEventListener","disconnect","useEffect","flexDirection","minHeight","width","overflow","baseStyle","flex","padding","borderWidth","borderRadius","borderStyle","outline","transition","cursor","Dropzone","getRootProps","getInputProps","isFocused","isDragAccept","isDragReject","useDropzone","t","useTranslation","theme","useTheme","T0","style","borderColor","palette","primary","main","success","error","Paper","t8","t9","FileContext","createContext","useFile","context","useContext","Error","ActionsMenu","meta","menu","setMenu","fileMetas","onDelete","actions","confirm","useDialogs","handleMenuClose","mutate","download","isPending","isDownloading","useDownloadFile","deleteFile","isDeleting","useDeleteFile","handleOnDownload","fileName","remainingFileMetas","filter","m","id","deletedFileMeta","handleOnDelete","undefined","mouseY","left","mouseX","delete","IMAGE_SIZE","FileViewerGrid","size","itemBar","fileMeta","map","GridFileViewerItem","setImageId","showItemBar","setShowItemBar","ref","inView","useInView","enabled","data","source","useGetFileThumbnail","handleOnMouseEnter","handleOnMouseLeave","event","clientX","clientY","setTimeout","openMenu","openFile","useOpenFile","mediaType","onClick","t10","t11","t12","t13","t14","t15","objectFit","t16","t17","color","grey","t18","t19","t20","FileViewerList","_temp","ListFileViewerItem","stopPropagation","icon","fileExtension","ImageViewer","metaId","find","useGetFile","globalThis","handleOnKeydown","images","imageIndex","findIndex","key","handleOnArrowLeft","handleOnArrowRight","preventDefault","onClose","index","previousFile","length","nextFile","maxWidth","maxHeight","xs","sm","position","right","FileViewer","subId","useGetFileMetas","imageId","bb0","components","Grid","List","Provider","isArray","value","Array","ChipInputCell","params","slotProps","getLabel","getLabelValue","colDef","computedWidth","overflowX","value_0","EditableColumnHeader","headerName","Component","React","forwardRef","ButtonComponent","CreatedComponent","createLink","RouterButton","GridActionsCellItemComponent","RouterGridActionsCellItem","IconButtonComponent","RouterIconButton","LinkComponent","RouterLink","TabComponent","RouterTab","RouterNotFound","mx","RouterError","name","message"],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sources":["../src/components/core/TypographyWithIcon.tsx","../src/components/core/Fullscreen.tsx","../src/components/file/Dropzone.tsx","../src/contexts/FileContext.ts","../src/components/file/fileViewer/common/ActionsMenu.tsx","../src/components/file/fileViewer/FileViewerGrid.tsx","../src/components/file/fileViewer/FileViewerList.tsx","../src/components/file/fileViewer/ImageViewer.tsx","../src/components/file/FileViewer.tsx","../src/components/data-grid/ChipInputCell.tsx","../src/components/data-grid/EditableColumnHeader.tsx","../src/components/router/RouterButton.tsx","../src/components/router/RouterGridActionsCellItem.tsx","../src/components/router/RouterIconButton.tsx","../src/components/router/RouterLink.tsx","../src/components/router/RouterTab.tsx","../src/components/router/RouterNotFound.tsx","../src/components/router/RouterError.tsx"],"sourcesContent":["import { Stack, Typography } from \"@mui/material\";\nimport type { SxProps, Theme, TypographyProps } from \"@mui/material\";\n\ninterface TypographyWithIconProps extends TypographyProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n}\n\nexport const TypographyWithIcon: React.FC<TypographyWithIconProps> = ({ startIcon, endIcon, children, sx, ...props }) => {\n const iconSx: SxProps<Theme> = {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n flexShrink: 0,\n lineHeight: 0,\n \"& > svg\": {\n display: \"block\",\n },\n };\n\n return (\n <Typography\n component=\"span\"\n sx={{\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"middle\",\n ...sx,\n }}\n gap={1}\n {...props}\n >\n {startIcon && (\n <Stack component=\"span\" sx={iconSx}>\n {startIcon}\n </Stack>\n )}\n <Stack component=\"span\" sx={{ display: \"inline\", lineHeight: \"inherit\" }}>\n {children}\n </Stack>\n {endIcon && (\n <Stack component=\"span\" sx={iconSx}>\n {endIcon}\n </Stack>\n )}\n </Typography>\n );\n};","import { Box } from \"@mui/material\";\nimport { useEffect, useEffectEvent, useRef, useState } from \"react\";\nimport type { BoxProps } from \"@mui/material\";\nimport type { FC } from \"react\";\n\nexport const Fullscreen: FC<BoxProps> = ({ children, sx, ...props }) => {\n const reference = useRef<HTMLDivElement | null>(null);\n const [height, setHeight] = useState<number>();\n\n const recompute = useEffectEvent(() => {\n if (!reference.current) return;\n const top = Math.ceil(reference.current.getBoundingClientRect().top);\n const avail = Math.max(0, window.innerHeight - top);\n setHeight(avail);\n });\n\n useEffect(() => {\n const element = reference.current;\n if (!element) return;\n\n recompute();\n\n window.addEventListener(\"resize\", recompute);\n\n const ro = new ResizeObserver(recompute);\n ro.observe(document.documentElement);\n ro.observe(document.body);\n ro.observe(element);\n\n return () => {\n window.removeEventListener(\"resize\", recompute);\n ro.disconnect();\n };\n }, []);\n\n return (\n <Box\n ref={reference}\n sx={{\n display: \"flex\",\n flexDirection: \"column\",\n minHeight: 0,\n width: \"100%\",\n overflow: \"auto\",\n ...sx,\n }}\n height={height}\n {...props}\n >\n {children}\n </Box>\n );\n};","import CloudUpload from \"@mui/icons-material/CloudUpload\";\nimport { Paper, Typography, useTheme } from \"@mui/material\";\nimport { useDropzone } from \"react-dropzone\";\nimport { useTranslation } from \"react-i18next\";\nimport type { SxProps, Theme} from \"@mui/material\";\nimport type { CSSProperties, FC } from \"react\";\nimport type { DropzoneOptions} from \"react-dropzone\";\n\nconst baseStyle: CSSProperties = {\n flex: 1,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n padding: \"20px\",\n borderWidth: 2,\n borderRadius: 2,\n borderStyle: \"dashed\",\n outline: \"none\",\n transition: \"border .24s ease-in-out\",\n cursor: \"pointer\",\n};\n\ninterface DropzoneProps extends DropzoneOptions {\n sx?: SxProps<Theme>;\n}\n\nexport const Dropzone: FC<DropzoneProps> = ({ sx, ...props }) => {\n const { getRootProps, getInputProps, isFocused, isDragAccept, isDragReject, } = useDropzone(props);\n const { t } = useTranslation();\n const theme = useTheme();\n\n const style = {\n ...baseStyle,\n ...(isFocused ? { borderColor: theme.palette.primary.main } : {}),\n ...(isDragAccept ? { borderColor: theme.palette.success.main } : {}),\n ...(isDragReject ? { borderColor: theme.palette.error.main } : {})\n };\n\n return (\n <Paper variant=\"outlined\" {...getRootProps({ style })} sx={sx}>\n <input {...getInputProps()} style={{ display: \"none\" }} />\n <CloudUpload />\n <Typography>{t(\"Layout.File.DragSomeFilesHereOrClickToSelectThem\")}</Typography>\n </Paper>\n );\n};","import { createContext, useContext } from \"react\";\nimport type { FileMeta } from \"../models/file/FileMeta\";\nimport type { FileActions } from \"~/models/file/FileActions\";\n\nexport interface FileContextValue {\n fileMetas: Array<FileMeta>;\n onDelete?: (params: { remainingFileMetas: Array<FileMeta>; deletedFileMeta: FileMeta }) => void;\n actions?: FileActions;\n setImageId: (imageId: string) => void;\n};\n\nexport const FileContext = createContext<FileContextValue | null>(null);\n\nexport const useFile = () => {\n const context = useContext(FileContext);\n if (!context) {\n throw new Error(\"FileViewer components must be used within FileViewer\");\n }\n return context;\n};","import Delete from \"@mui/icons-material/Delete\";\nimport FileDownload from \"@mui/icons-material/FileDownload\";\nimport { List, ListItemButton, ListItemIcon, ListItemText, Menu } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport type { FC } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useDialogs } from \"~/hooks/DialogsHooks\";\nimport { useDeleteFile, useDownloadFile } from \"~/queries/FileHooks\";\n\ninterface ActionsMenuProps {\n meta: FileMeta;\n menu: { mouseX: number; mouseY: number } | null;\n setMenu: (menu: { mouseX: number; mouseY: number } | null) => void;\n}\n\nexport const ActionsMenu: FC<ActionsMenuProps> = ({ meta, menu, setMenu }) => {\n const { t } = useTranslation();\n const { fileMetas, onDelete, actions } = useFile();\n const { confirm } = useDialogs();\n\n const handleMenuClose = () => { setMenu(null); };\n\n const { mutate: download, isPending: isDownloading } = useDownloadFile();\n const { mutate: deleteFile, isPending: isDeleting } = useDeleteFile();\n\n const handleOnDownload = () => {\n handleMenuClose();\n download(meta);\n };\n\n const handleOnDelete = async () => {\n if (!await confirm(t(\"Layout.File.AreYouSureYouWantToDelete\", { fileName: meta.fileName })))\n return;\n\n deleteFile(meta);\n handleMenuClose();\n\n if (onDelete) {\n const remainingFileMetas: Array<FileMeta> = fileMetas.filter(m => m.id !== meta.id);\n onDelete({ remainingFileMetas, deletedFileMeta: meta });\n }\n };\n\n return (\n <Menu open={menu !== null} onClose={handleMenuClose} anchorReference=\"anchorPosition\" variant=\"menu\"\n anchorPosition={menu === null ? undefined : { top: menu.mouseY, left: menu.mouseX }}>\n <List disablePadding>\n {actions?.download !== false &&\n <ListItemButton onClick={handleOnDownload} disabled={isDownloading}>\n <ListItemIcon>\n <FileDownload />\n </ListItemIcon>\n <ListItemText>{t(\"Layout.File.Download\")}</ListItemText>\n </ListItemButton>\n }\n {actions?.delete !== false &&\n <ListItemButton onClick={handleOnDelete} disabled={isDeleting}>\n <ListItemIcon>\n <Delete />\n </ListItemIcon>\n <ListItemText>{t(\"Layout.File.Delete\")}</ListItemText>\n </ListItemButton>\n }\n </List>\n </Menu>\n );\n};\n","import MoreVert from \"@mui/icons-material/MoreVert\";\nimport { Box, IconButton, ImageListItem, ImageListItemBar, Stack, Tooltip } from \"@mui/material\";\nimport { grey } from \"@mui/material/colors\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { ActionsMenu } from \"./common/ActionsMenu\";\nimport type { SxProps, Theme } from \"@mui/material\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useDownloadFile, useGetFileThumbnail, useOpenFile } from \"~/queries/FileHooks\";\n\nconst IMAGE_SIZE = 150;\n\ntype FileViewerGridItemBar = \"hidden\" | \"always\" | \"onMouseEnter\";\n\nexport interface FileViewerGridProps {\n size?: number;\n itemBar?: FileViewerGridItemBar;\n sx?: SxProps<Theme>;\n}\n\nexport const FileViewerGrid: React.FC<FileViewerGridProps> = ({ sx, size, itemBar }) => {\n const { fileMetas } = useFile();\n\n return (\n <Stack direction=\"row\" spacing={1} sx={{ overflow: \"auto\", ...sx }}>\n {fileMetas.map(fileMeta => (\n <GridFileViewerItem\n key={fileMeta.id}\n meta={fileMeta}\n size={size}\n itemBar={itemBar}\n />\n ))}\n </Stack>\n );\n};\n\ninterface GridFileViewerItemProps {\n meta: FileMeta;\n size?: number;\n itemBar?: FileViewerGridItemBar;\n}\n\nexport const GridFileViewerItem: React.FC<GridFileViewerItemProps> = ({ meta, size, itemBar }) => {\n const { setImageId, actions } = useFile();\n const [showItemBar, setShowItemBar] = useState<boolean>(itemBar === \"always\");\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number; } | null>(null);\n const { ref, inView } = useInView();\n\n useEffect(() => {\n setShowItemBar(itemBar === \"always\");\n }, [itemBar]);\n\n const { data: source } = useGetFileThumbnail({ meta }, { enabled: inView });\n\n const handleOnMouseEnter = () => setShowItemBar(true);\n const handleOnMouseLeave = () => itemBar !== \"always\" && setShowItemBar(false);\n\n const openMenu = (event: React.MouseEvent) => {\n setMenu(menu === null ? { mouseX: event.clientX, mouseY: event.clientY, } : null);\n setTimeout(() => setShowItemBar(true));\n };\n\n const { mutate: openFile } = useOpenFile();\n const { mutate: download } = useDownloadFile();\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": { return setImageId(meta.id); }\n case \"application\": { return openFile(meta); }\n case \"video\": { return openFile(meta); }\n default: { return download(meta); }\n }\n };\n\n return (\n <Fragment>\n <ImageListItem sx={{ width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }} onMouseEnter={handleOnMouseEnter} onMouseLeave={handleOnMouseLeave} ref={ref}>\n <Box\n component=\"img\"\n src={source}\n loading=\"lazy\"\n alt={\"thumbnail-\" + meta.id}\n onClick={onClick}\n sx={{ cursor: \"pointer\", objectFit: \"contain\", width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }}\n />\n {(itemBar !== \"hidden\" && showItemBar) &&\n <ImageListItemBar\n title={\n <Tooltip title={meta.fileName}>\n <Box>\n {meta.fileName}\n </Box>\n </Tooltip>\n }\n actionIcon={\n (actions?.download !== false || actions.delete !== false) &&\n <IconButton sx={{ color: grey[100] }} onClick={openMenu}>\n <MoreVert />\n </IconButton>\n }\n />\n }\n </ImageListItem>\n\n {(actions?.download !== false || actions.delete !== false) && <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />}\n </Fragment>\n );\n};\n","import AttachFile from \"@mui/icons-material/AttachFile\";\nimport Image from \"@mui/icons-material/Image\";\nimport MoreVert from \"@mui/icons-material/MoreVert\";\nimport SmartDisplay from \"@mui/icons-material/SmartDisplay\";\nimport { IconButton, List, ListItemButton, ListItemIcon, ListItemText } from \"@mui/material\";\nimport { Fragment, useState } from \"react\";\nimport { ActionsMenu } from \"./common/ActionsMenu\";\nimport type { FC } from \"react\";\nimport type { SxProps, Theme } from \"@mui/material\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useDownloadFile, useOpenFile } from \"~/queries/FileHooks\";\n\nexport interface FileViewerListProps {\n sx?: SxProps<Theme>;\n}\n\nexport const FileViewerList: FC<FileViewerListProps> = ({ sx }) => {\n const { fileMetas } = useFile();\n\n return (\n <List dense sx={sx}>\n {fileMetas.map(fileMeta =>\n <ListFileViewerItem\n key={fileMeta.id}\n meta={fileMeta}\n />\n )}\n </List>\n );\n};\n\ninterface ListFileViewerItemProps {\n meta: FileMeta;\n}\n\nexport const ListFileViewerItem: React.FC<ListFileViewerItemProps> = ({ meta }) => {\n const { setImageId, actions } = useFile();\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number; } | null>(null);\n\n const openMenu = (event: React.MouseEvent) => {\n event.stopPropagation();\n setMenu(menu === null ? { mouseX: event.clientX, mouseY: event.clientY, } : null);\n };\n\n const { mutate: openFile } = useOpenFile();\n const { mutate: download } = useDownloadFile();\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": { return setImageId(meta.id); }\n case \"application\": { return openFile(meta); }\n case \"video\": { return openFile(meta); }\n default: { return download(meta); }\n }\n };\n\n const icon = () => {\n switch (meta.mediaType) {\n case \"image\": {\n return <Image />;\n }\n case \"video\": {\n return <SmartDisplay />;\n }\n default: {\n return <AttachFile />;\n }\n }\n };\n\n return (\n <Fragment>\n <ListItemButton key={meta.id} onClick={onClick}>\n <ListItemIcon>\n {icon()}\n </ListItemIcon>\n <ListItemText primary={`${meta.fileName}.${meta.fileExtension}`} />\n {(actions?.download !== false || actions.delete !== false) &&\n <IconButton edge=\"end\" onClick={openMenu}>\n <MoreVert />\n </IconButton>\n }\n </ListItemButton>\n\n {(actions?.download !== false || actions.delete !== false) && <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />}\n </Fragment>\n );\n};\n","import Close from \"@mui/icons-material/Close\";\nimport { Box, Dialog, Fab } from \"@mui/material\";\nimport React, { useEffect } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { useGetFile } from \"~/queries/FileHooks\";\n\ninterface ImageViewerProps {\n metaId: string;\n}\n\nexport const ImageViewer: React.FC<ImageViewerProps> = ({ metaId }) => {\n const { fileMetas, setImageId } = useFile();\n\n const meta = fileMetas.find(m => m.id === metaId)!;\n\n const { data: source } = useGetFile({ meta });\n\n useEffect(() => {\n if (metaId)\n globalThis.addEventListener(\"keydown\", handleOnKeydown);\n\n return () => { globalThis.removeEventListener(\"keydown\", handleOnKeydown); };\n }, [metaId]);\n\n const handleOnKeydown = (event: KeyboardEvent) => {\n const images: Array<FileMeta> = fileMetas.filter(m => m.mediaType === \"image\");\n const imageIndex: number = images.findIndex(m => m.id === metaId);\n\n switch (event.key) {\n case \"ArrowLeft\": {\n return handleOnArrowLeft(images, imageIndex);\n }\n case \"ArrowRight\": {\n return handleOnArrowRight(images, imageIndex);\n }\n case \"Backspace\":\n case \"Escape\": {\n event.preventDefault();\n return onClose();\n }\n }\n };\n\n const handleOnArrowLeft = (images: Array<FileMeta>, index: number) => {\n if (index > 0) {\n const previousFile: FileMeta = images[index - 1];\n setImageId(previousFile.id);\n }\n };\n\n const handleOnArrowRight = (images: Array<FileMeta>, index: number) => {\n if (index < images.length - 1) {\n const nextFile: FileMeta = images[index + 1];\n setImageId(nextFile.id);\n }\n };\n\n const onClose = () => setImageId(\"\");\n\n if (!metaId) return null;\n\n return (\n <Dialog open onClose={onClose} maxWidth=\"xl\">\n <Box component=\"img\" src={source} alt={metaId} sx={{ maxWidth: \"100vw\", maxHeight: { xs: \"calc(100vh - 56px)\", sm: \"calc(100vh - 64px)\" } }} />\n\n <Fab size=\"medium\" onClick={onClose} sx={{ position: \"fixed\", top: 8, right: 8 }}>\n <Close />\n </Fab>\n </Dialog>\n );\n};\n","import { useState } from \"react\";\nimport { FileViewerGrid } from \"./fileViewer/FileViewerGrid\";\nimport { FileViewerList } from \"./fileViewer/FileViewerList\";\nimport { ImageViewer } from \"./fileViewer/ImageViewer\";\nimport type { FileViewerGridProps } from \"./fileViewer/FileViewerGrid\";\nimport type { ComponentType, FC, ReactNode } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport type { FileActions } from \"~/models/file/FileActions\";\nimport type { FileViewerListProps } from \"./fileViewer/FileViewerList\";\nimport { FileContext } from \"~/contexts/FileContext\";\nimport { useGetFileMetas } from \"~/queries/FileHooks\";\n\ninterface FileViewerComponent {\n Grid: ComponentType<FileViewerGridProps>;\n List: ComponentType<FileViewerListProps>;\n}\n\ninterface FileViewerProps {\n subId: string;\n onDelete?: (params: { remainingFileMetas: Array<FileMeta>; deletedFileMeta: FileMeta }) => void;\n actions?: FileActions;\n children: (component: FileViewerComponent) => ReactNode;\n}\n\nexport const FileViewer: FC<FileViewerProps> = ({ subId, onDelete, actions, children }) => {\n const { data: fileMetas = [] } = useGetFileMetas({ subId }, { enabled: !!subId });\n const [imageId, setImageId] = useState<string>(\"\");\n\n const components: FileViewerComponent = { Grid: FileViewerGrid, List: FileViewerList };\n\n if (fileMetas.length === 0) return null;\n\n return (\n <FileContext.Provider value={{ fileMetas, onDelete, actions, setImageId }}>\n {children(components)}\n <ImageViewer metaId={imageId} />\n </FileContext.Provider>\n );\n};\n","import { Chip, Stack } from \"@mui/material\";\nimport type { ChipProps} from \"@mui/material\";\nimport type { GridRenderCellParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\n\nconst isArray = (value: any) => Array.isArray(value);\n\ninterface ChipInputCellProps<T extends GridValidRowModel> {\n params: GridRenderCellParams<T>;\n slotProps?: ChipProps;\n getLabel?: (object: T) => string | number;\n}\n\nexport const ChipInputCell = <T extends GridValidRowModel>({ params, slotProps, getLabel }: ChipInputCellProps<T>) => {\n if (!params.value) return null;\n\n const getLabelValue = (value: any) => {\n if (getLabel) return getLabel(value);\n return value;\n };\n\n if (isArray(params.value))\n return (\n <Stack direction=\"row\" alignItems=\"center\" gap={1} sx={{ overflowX: \"auto\", height: \"100%\", width: params.colDef.computedWidth }}>\n {params.value.map((value: any, index) =>\n <Chip key={`${index + 1}-chip-input-cell`} label={getLabelValue(value)} {...slotProps} />\n )}\n </Stack>\n );\n\n return <Chip label={getLabelValue(params.value)} {...slotProps} />;\n};","import Edit from \"@mui/icons-material/Edit\";\nimport { TypographyWithIcon } from \"../core/TypographyWithIcon\";\nimport type { GridColumnHeaderParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\n\nexport const EditableColumnHeader = <T extends GridValidRowModel>({ colDef }: GridColumnHeaderParams<T>) => {\n return <TypographyWithIcon endIcon={<Edit color=\"disabled\" fontSize=\"small\" />} variant=\"body2\" className=\"MuiDataGrid-columnHeaderTitle\">{colDef.headerName}</TypographyWithIcon>;\n};","import { Button } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { ButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, ButtonProps<\"a\">>(function ButtonComponent(props, reference) {\n return <Button ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { GridActionsCellItem } from \"@mui/x-data-grid-premium\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { GridActionsCellItemProps } from \"@mui/x-data-grid-premium\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLButtonElement, GridActionsCellItemProps>(\n function GridActionsCellItemComponent(props, reference) {\n return <GridActionsCellItem ref={reference} component=\"a\" {...props} />;\n }\n) as React.ForwardRefExoticComponent<GridActionsCellItemProps & React.RefAttributes<HTMLButtonElement>>;\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterGridActionsCellItem: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { IconButton } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { IconButtonProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, IconButtonProps<\"a\">>(function IconButtonComponent(props, reference) {\n return <IconButton ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterIconButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Link } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { LinkProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, LinkProps>(function LinkComponent(props, reference) {\n return <Link ref={reference} {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterLink: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Tab } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { TabProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, TabProps<\"a\">>(function TabComponent(props, reference) {\n return <Tab ref={reference} component=\"a\" {...props} />;\n});\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterTab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};","import { Box, Divider, Typography } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\n\nexport function RouterNotFound() {\n const { t } = useTranslation();\n\n return (\n <Box height=\"100vh\" display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" textAlign=\"center\" px={2} >\n <Box display=\"flex\" alignItems=\"center\" mb={4}>\n <Typography variant=\"h3\" component=\"span\" fontWeight={500} sx={{ lineHeight: 1 }}>404</Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">{t(\"Layout.ThisPageCouldNotBeFound\")}</Typography>\n </Box>\n </Box>\n );\n}\n","import { Box, Divider, Typography } from \"@mui/material\";\nimport type { FC } from \"react\";\nimport type { ErrorComponentProps } from \"@tanstack/react-router\";\n\ninterface RouterErrorProps {\n error: ErrorComponentProps[\"error\"];\n}\n\nexport const RouterError: FC<RouterErrorProps> = ({ error }) => {\n\n return (\n <Box height=\"100vh\" display=\"flex\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\" textAlign=\"center\" px={2} >\n <Box display=\"flex\" alignItems=\"center\" mb={4}>\n <Typography variant=\"h3\" component=\"span\" fontWeight={500} sx={{ lineHeight: 1 }}>{error.name || \"500\"}</Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">{error.message}</Typography>\n </Box>\n </Box>\n );\n};\n"],"names":["TypographyWithIcon","t0","$","_c","children","endIcon","props","startIcon","sx","t1","Symbol","for","display","alignItems","justifyContent","flexShrink","lineHeight","iconSx","t2","verticalAlign","t3","t4","t5","t6","t7","Fullscreen","reference","useRef","height","setHeight","useState","current","top","Math","ceil","getBoundingClientRect","avail","max","window","innerHeight","recompute","useEffectEvent","element","addEventListener","ro","ResizeObserver","observe","document","documentElement","body","removeEventListener","disconnect","useEffect","flexDirection","minHeight","width","overflow","baseStyle","flex","padding","borderWidth","borderRadius","borderStyle","outline","transition","cursor","Dropzone","getRootProps","getInputProps","isFocused","isDragAccept","isDragReject","useDropzone","t","useTranslation","theme","useTheme","T0","style","borderColor","palette","primary","main","success","error","Paper","t8","t9","FileContext","createContext","useFile","context","useContext","Error","ActionsMenu","meta","menu","setMenu","fileMetas","onDelete","actions","confirm","useDialogs","handleMenuClose","mutate","download","isPending","isDownloading","useDownloadFile","deleteFile","isDeleting","useDeleteFile","handleOnDownload","fileName","remainingFileMetas","filter","m","id","deletedFileMeta","handleOnDelete","undefined","mouseY","left","mouseX","delete","IMAGE_SIZE","FileViewerGrid","size","itemBar","fileMeta","map","GridFileViewerItem","setImageId","showItemBar","setShowItemBar","ref","inView","useInView","enabled","data","source","useGetFileThumbnail","handleOnMouseEnter","handleOnMouseLeave","event","clientX","clientY","setTimeout","openMenu","openFile","useOpenFile","mediaType","onClick","t10","t11","t12","t13","t14","t15","objectFit","t16","t17","color","grey","t18","t19","t20","FileViewerList","_temp","ListFileViewerItem","stopPropagation","icon","fileExtension","ImageViewer","metaId","find","useGetFile","globalThis","handleOnKeydown","images","imageIndex","findIndex","key","handleOnArrowLeft","handleOnArrowRight","preventDefault","onClose","index","previousFile","length","nextFile","maxWidth","maxHeight","xs","sm","position","right","FileViewer","subId","useGetFileMetas","imageId","bb0","components","Grid","List","Provider","isArray","value","Array","ChipInputCell","params","slotProps","getLabel","getLabelValue","colDef","computedWidth","overflowX","value_0","EditableColumnHeader","headerName","Component","React","forwardRef","ButtonComponent","CreatedComponent","createLink","RouterButton","GridActionsCellItemComponent","RouterGridActionsCellItem","IconButtonComponent","RouterIconButton","LinkComponent","RouterLink","TabComponent","RouterTab","RouterNotFound","mx","RouterError","name","message"],"mappings":"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"}