wcz-layout 8.1.0 → 8.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.js +2 -2
- package/dist/components.js.map +1 -1
- package/package.json +158 -154
- package/skills/client-db/SKILL.md +111 -0
- package/skills/db-schema/SKILL.md +69 -0
- package/skills/forms/SKILL.md +85 -0
- package/skills/routes/SKILL.md +127 -0
- package/skills/server/SKILL.md +114 -0
- package/skills/start/SKILL.md +46 -0
- package/skills/start/steps/01-git-setup.md +10 -0
- package/skills/start/steps/02-dependency-check.md +11 -0
- package/skills/start/steps/03-env-setup.md +16 -0
- package/skills/start/steps/04-project-name-setup.md +14 -0
- package/skills/start/steps/05-database-setup.md +37 -0
- package/skills/start/steps/06-entra-setup.md +59 -0
- package/skills/start/steps/07-vault-setup.md +56 -0
- package/skills/start/steps/08-generate-favicon.md +15 -0
- package/skills/start/steps/09-commit.md +15 -0
- package/skills/tables/SKILL.md +184 -0
- package/skills/api-routes/SKILL.md +0 -251
- package/skills/auth/SKILL.md +0 -268
- package/skills/data-grid/SKILL.md +0 -229
- package/skills/database-schema/SKILL.md +0 -182
- package/skills/dialogs-notifications/SKILL.md +0 -241
- package/skills/forms-validation/SKILL.md +0 -331
- package/skills/forms-validation/references/field-components.md +0 -212
- package/skills/layout-navigation/SKILL.md +0 -259
- package/skills/project-initialization/SKILL.md +0 -181
- package/skills/project-structure/SKILL.md +0 -157
- package/skills/tanstack-db-collections/SKILL.md +0 -270
- package/skills/template-init.md +0 -146
- package/skills/ui-pages/SKILL.md +0 -278
package/dist/components.js
CHANGED
|
@@ -1178,9 +1178,9 @@ const ChipInputCell = (t0) => {
|
|
|
1178
1178
|
//#region src/components/data-grid/EditableColumnHeader.tsx
|
|
1179
1179
|
const EditableColumnHeader = (t0) => {
|
|
1180
1180
|
const $ = c(4);
|
|
1181
|
-
if ($[0] !== "
|
|
1181
|
+
if ($[0] !== "bdb457850b06e9f4b51331bedaa1d869cfb69eda0cb4837374507dc5e4a28f10") {
|
|
1182
1182
|
for (let $i = 0; $i < 4; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
|
|
1183
|
-
$[0] = "
|
|
1183
|
+
$[0] = "bdb457850b06e9f4b51331bedaa1d869cfb69eda0cb4837374507dc5e4a28f10";
|
|
1184
1184
|
}
|
|
1185
1185
|
const { colDef } = t0;
|
|
1186
1186
|
let t1;
|
package/dist/components.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","names":["Typography","TypographyProps","TypographyWithIconProps","startIcon","React","ReactNode","endIcon","gap","TypographyWithIcon","FC","t0","$","_c","$i","Symbol","for","children","props","sx","t1","undefined","t2","display","flexShrink","t3","alignItems","verticalAlign","t4","Array","isArray","t5","t6","Box","useEffectEvent","useLayoutEffect","useRef","useState","BoxProps","FC","Fullscreen","t0","$","_c","$i","Symbol","for","children","props","sx","reference","height","setHeight","t1","current","top","getBoundingClientRect","viewportHeight","window","visualViewport","innerHeight","avail","Math","max","floor","recompute","t2","element","addEventListener","ro","ResizeObserver","observe","document","documentElement","body","removeEventListener","disconnect","t3","t4","display","flexDirection","boxSizing","minHeight","width","overflow","t5","CloudUpload","Box","Typography","useTheme","useDropzone","useTranslation","SxProps","Theme","CSSProperties","FC","DropzoneOptions","baseStyle","flex","display","flexDirection","alignItems","padding","borderWidth","borderRadius","borderStyle","outline","transition","cursor","DropzoneProps","sx","Dropzone","t0","$","_c","$i","Symbol","for","props","getRootProps","getInputProps","isFocused","isDragAccept","isDragReject","t","theme","t1","vars","T0","t2","palette","text","disabled","style","borderColor","primary","main","success","error","t3","t4","t5","t6","t7","t8","t9","createContext","useContext","FileMeta","FileActions","FileContextValue","appName","fileMetas","Array","onDelete","params","remainingFileMetas","deletedFileMeta","actions","setImageId","imageId","FileContext","useFile","$","_c","$i","Symbol","for","context","Error","Delete","FileDownload","List","ListItemButton","ListItemIcon","ListItemText","Menu","useMutation","useTranslation","FC","FileMeta","useFile","useDialogs","deleteFileMutationOptions","downloadFileMutationOptions","ActionsMenuProps","meta","menu","mouseX","mouseY","setMenu","ActionsMenu","t0","$","_c","$i","Symbol","for","t","fileMetas","onDelete","actions","appName","confirm","t1","handleMenuClose","t2","mutate","download","isPending","isDownloading","t3","deleteFile","isDeleting","t4","fileExtension","fileName","id","handleOnDownload","t5","remainingFileMetas","filter","m","deletedFileMeta","handleOnDelete","t6","t7","undefined","top","left","t8","t9","delete","t10","t11","MoreVert","Box","IconButton","ImageListItem","ImageListItemBar","Stack","Tooltip","grey","useMutation","useQuery","useQueryClient","React","Fragment","useEffect","useState","useInView","ActionsMenu","FileMeta","SxProps","Theme","useFile","downloadFileMutationOptions","fileQueryOptions","fileThumbnailQueryOptions","openFileMutationOptions","IMAGE_SIZE","FileViewerGridItemBar","FileViewerGridProps","size","itemBar","sx","FileViewerGrid","FC","t0","$","_c","$i","Symbol","for","fileMetas","t1","overflow","t2","t3","fileMeta","id","map","GridFileViewerItemProps","meta","GridFileViewerItem","setImageId","actions","appName","showItemBar","setShowItemBar","menu","setMenu","ref","inView","queryClient","t4","enabled","data","source","t5","handleOnMouseEnter","t6","handleOnMouseLeave","t7","event","mouseX","clientX","mouseY","clientY","setTimeout","openMenu","t8","mutate","openFile","t9","download","t10","fileExtension","fileName","mediaType","onClick","t11","t12","t13","width","height","t14","t15","prefetchQuery","t16","t17","t18","cursor","objectFit","t19","t20","delete","color","t21","t22","t23","AttachFile","Image","MoreVert","SmartDisplay","IconButton","List","ListItemButton","ListItemIcon","ListItemText","Fragment","useState","useMutation","useQueryClient","ActionsMenu","FC","SxProps","Theme","FileMeta","useFile","downloadFileMutationOptions","fileQueryOptions","openFileMutationOptions","FileViewerListProps","sx","FileViewerList","t0","$","_c","$i","Symbol","for","fileMetas","t1","map","_temp","t2","ListFileViewerItemProps","meta","ListFileViewerItem","React","setImageId","actions","appName","menu","setMenu","queryClient","event","stopPropagation","mouseX","clientX","mouseY","clientY","openMenu","mutate","openFile","t3","download","t4","fileExtension","fileName","id","mediaType","onClick","t5","icon","t6","prefetchQuery","t7","t8","t9","t10","delete","t11","t12","t13","fileMeta","Close","Box","Dialog","Fab","useQuery","React","useEffect","FileMeta","useFile","fileQueryOptions","ImageViewerProps","metaId","ImageViewer","FC","fileMetas","setImageId","appName","meta","find","m","id","data","source","globalThis","addEventListener","handleOnKeydown","removeEventListener","event","KeyboardEvent","images","Array","filter","mediaType","imageIndex","findIndex","key","handleOnArrowLeft","handleOnArrowRight","preventDefault","onClose","index","previousFile","length","nextFile","maxWidth","maxHeight","xs","sm","position","top","right","useQuery","ComponentType","FC","ReactNode","useState","FileContext","FileActions","FileMeta","fileMetasQueryOptions","FileViewerGridProps","FileViewerGrid","FileViewerListProps","FileViewerList","ImageViewer","FileViewerComponent","Grid","List","FileViewerProps","appName","subId","onDelete","params","remainingFileMetas","Array","deletedFileMeta","actions","children","component","FileViewer","t0","$","_c","$i","Symbol","for","t1","t2","t3","enabled","data","t4","t5","undefined","fileMetas","imageId","setImageId","length","t6","t7","t8","t9","Chip","Stack","ChipProps","GridRenderCellParams","GridValidRowModel","isArray","value","Array","ChipInputCellProps","params","T","slotProps","getLabel","object","ChipInputCell","t0","$","_c","$i","Symbol","for","t1","getLabelValue","t2","colDef","computedWidth","alignItems","gap","overflowX","height","width","t3","t4","value_0","index","map","Edit","TypographyWithIcon","GridColumnHeaderParams","GridValidRowModel","EditableColumnHeader","t0","$","_c","$i","Symbol","for","colDef","t1","t2","headerName","Button","createLink","React","ButtonProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","ButtonComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterButton","Fab","createLink","React","FabProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","FabComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterFab","GridActionsCellItem","createLink","React","GridActionsCellItemProps","LinkComponent","Component","forwardRef","HTMLButtonElement","GridActionsCellItemComponent","props","reference","$","_c","$i","Symbol","for","t0","ForwardRefExoticComponent","RefAttributes","CreatedComponent","RouterGridActionsCellItem","Link","createLink","React","LinkProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterLink","Tab","createLink","React","TabProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","TabComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterTab","Box","Divider","Typography","useTranslation","RouterNotFound","$","_c","$i","Symbol","for","t","t0","height","display","flexDirection","alignItems","justifyContent","textAlign","px","t1","mb","t2","fontWeight","lineHeight","t3","mx","t4","t5","Box","Divider","Typography","FC","ErrorComponentProps","RouterErrorProps","error","RouterError","t0","$","_c","$i","Symbol","for","t1","height","display","flexDirection","alignItems","justifyContent","textAlign","px","t2","mb","t3","fontWeight","lineHeight","t4","name","t5","t6","mx","t7","message","t8"],"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/RouterFab.tsx","../src/components/router/RouterGridActionsCellItem.tsx","../src/components/router/RouterLink.tsx","../src/components/router/RouterTab.tsx","../src/components/router/RouterNotFound.tsx","../src/components/router/RouterError.tsx"],"sourcesContent":["import { Typography } from \"@mui/material\";\nimport type { TypographyProps } from \"@mui/material\";\n\ninterface TypographyWithIconProps extends TypographyProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n gap?: number | string;\n}\n\nexport const TypographyWithIcon: React.FC<TypographyWithIconProps> = ({\n startIcon,\n endIcon,\n children,\n gap = 1,\n sx,\n ...props\n}) => (\n <Typography\n component=\"span\"\n sx={[\n {\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"middle\",\n gap,\n \"& > svg\": { display: \"block\", flexShrink: 0 },\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...props}\n >\n {startIcon}\n {children}\n {endIcon}\n </Typography>\n);\n","import { Box } from \"@mui/material\";\nimport { useEffectEvent, useLayoutEffect, 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 = reference.current.getBoundingClientRect().top;\n const viewportHeight = window.visualViewport?.height ?? window.innerHeight;\n const avail = Math.max(0, Math.floor(viewportHeight - top));\n setHeight(avail);\n });\n\n useLayoutEffect(() => {\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 boxSizing: \"border-box\",\n minHeight: 0,\n width: \"100%\",\n overflow: \"auto\",\n height,\n ...sx,\n }}\n {...props}\n >\n {children}\n </Box>\n );\n};\n","import CloudUpload from \"@mui/icons-material/CloudUpload\";\nimport { Box, 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 borderColor: (theme.vars || theme).palette.text.disabled,\n ...(isFocused ? { borderColor: (theme.vars || theme).palette.primary.main } : {}),\n ...(isDragAccept ? { borderColor: (theme.vars || theme).palette.success.main } : {}),\n ...(isDragReject ? { borderColor: (theme.vars || theme).palette.error.main } : {}),\n };\n\n return (\n <Box {...getRootProps({ style })} sx={sx}>\n <input {...getInputProps()} style={{ display: \"none\" }} />\n <CloudUpload />\n <Typography>{t(\"Layout.File.DragSomeFilesHereOrClickToSelectThem\")}</Typography>\n </Box>\n );\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 appName: string;\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};\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 { useMutation } from \"@tanstack/react-query\";\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/useDialogs\";\nimport { deleteFileMutationOptions, downloadFileMutationOptions } from \"~/queries/client/file\";\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, appName } = useFile();\n const { confirm } = useDialogs();\n\n const handleMenuClose = () => {\n setMenu(null);\n };\n\n const { mutate: download, isPending: isDownloading } = useMutation(downloadFileMutationOptions());\n const { mutate: deleteFile, isPending: isDeleting } = useMutation(deleteFileMutationOptions());\n\n const handleOnDownload = () => {\n handleMenuClose();\n download({ id: meta.id, appName, fileName: meta.fileName, fileExtension: meta.fileExtension });\n };\n\n const handleOnDelete = async () => {\n if (!(await confirm(t(\"Layout.File.AreYouSureYouWantToDelete\", { fileName: meta.fileName }))))\n return;\n\n deleteFile({ id: meta.id, appName });\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\n open={menu !== null}\n onClose={handleMenuClose}\n anchorReference=\"anchorPosition\"\n variant=\"menu\"\n anchorPosition={menu === null ? undefined : { top: menu.mouseY, left: menu.mouseX }}\n >\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 { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { ActionsMenu } from \"./common/ActionsMenu\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport type { SxProps, Theme } from \"@mui/material\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport {\n downloadFileMutationOptions,\n fileQueryOptions,\n fileThumbnailQueryOptions,\n openFileMutationOptions,\n} from \"~/queries/client/file\";\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 key={fileMeta.id} meta={fileMeta} size={size} itemBar={itemBar} />\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, appName } = 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 const queryClient = useQueryClient();\n\n useEffect(() => {\n setShowItemBar(itemBar === \"always\");\n }, [itemBar]);\n\n const { data: source } = useQuery({\n ...fileThumbnailQueryOptions({ id: meta.id, appName }),\n enabled: inView,\n });\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 } = useMutation(openFileMutationOptions());\n const { mutate: download } = useMutation(downloadFileMutationOptions());\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": {\n return setImageId(meta.id);\n }\n case \"application\": {\n return openFile({ id: meta.id, appName });\n }\n case \"video\": {\n return openFile({ id: meta.id, appName });\n }\n default: {\n return download({\n id: meta.id,\n appName,\n fileName: meta.fileName,\n fileExtension: meta.fileExtension,\n });\n }\n }\n };\n\n return (\n <Fragment>\n <ImageListItem\n sx={{ width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n ref={ref}\n >\n <Box\n component=\"img\"\n src={source}\n loading=\"lazy\"\n alt={\"thumbnail-\" + meta.id}\n onClick={onClick}\n onMouseEnter={() => queryClient.prefetchQuery(fileQueryOptions({ id: meta.id, appName }))}\n sx={{\n cursor: \"pointer\",\n objectFit: \"contain\",\n width: size ?? IMAGE_SIZE,\n height: size ?? IMAGE_SIZE,\n }}\n />\n {itemBar !== \"hidden\" && showItemBar && (\n <ImageListItemBar\n title={\n <Tooltip title={meta.fileName}>\n <Box>{meta.fileName}</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 )}\n </ImageListItem>\n\n {(actions?.download !== false || actions.delete !== false) && (\n <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />\n )}\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 { useMutation, useQueryClient } from \"@tanstack/react-query\";\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 {\n downloadFileMutationOptions,\n fileQueryOptions,\n openFileMutationOptions,\n} from \"~/queries/client/file\";\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 key={fileMeta.id} meta={fileMeta} />\n ))}\n </List>\n );\n};\n\ninterface ListFileViewerItemProps {\n meta: FileMeta;\n}\n\nexport const ListFileViewerItem: React.FC<ListFileViewerItemProps> = ({ meta }) => {\n const { setImageId, actions, appName } = useFile();\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number } | null>(null);\n const queryClient = useQueryClient();\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 } = useMutation(openFileMutationOptions());\n const { mutate: download } = useMutation(downloadFileMutationOptions());\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": {\n return setImageId(meta.id);\n }\n case \"application\": {\n return openFile({ id: meta.id, appName });\n }\n case \"video\": {\n return openFile({ id: meta.id, appName });\n }\n default: {\n return download({\n id: meta.id,\n appName,\n fileName: meta.fileName,\n fileExtension: meta.fileExtension,\n });\n }\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\n key={meta.id}\n onClick={onClick}\n onMouseEnter={() => queryClient.prefetchQuery(fileQueryOptions({ id: meta.id, appName }))}\n >\n <ListItemIcon>{icon()}</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) && (\n <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />\n )}\n </Fragment>\n );\n};\n","import Close from \"@mui/icons-material/Close\";\nimport { Box, Dialog, Fab } from \"@mui/material\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport React, { useEffect } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { fileQueryOptions } from \"~/queries/client/file\";\n\ninterface ImageViewerProps {\n metaId: string;\n}\n\nexport const ImageViewer: React.FC<ImageViewerProps> = ({ metaId }) => {\n const { fileMetas, setImageId, appName } = useFile();\n\n const meta = fileMetas.find((m) => m.id === metaId)!;\n\n const { data: source } = useQuery(fileQueryOptions({ id: meta.id, appName }));\n\n useEffect(() => {\n if (metaId) globalThis.addEventListener(\"keydown\", handleOnKeydown);\n\n return () => {\n globalThis.removeEventListener(\"keydown\", handleOnKeydown);\n };\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\n component=\"img\"\n src={source}\n alt={metaId}\n sx={{\n maxWidth: \"100vw\",\n maxHeight: { xs: \"calc(100vh - 56px)\", sm: \"calc(100vh - 64px)\" },\n }}\n />\n\n <Fab size=\"medium\" onClick={onClose} sx={{ position: \"fixed\", top: 8, right: 8 }}>\n <Close />\n </Fab>\n </Dialog>\n );\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { ComponentType, FC, ReactNode } from \"react\";\nimport { useState } from \"react\";\nimport { FileContext } from \"~/contexts/FileContext\";\nimport type { FileActions } from \"~/models/file/FileActions\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { fileMetasQueryOptions } from \"~/queries/client/file\";\nimport type { FileViewerGridProps } from \"./fileViewer/FileViewerGrid\";\nimport { FileViewerGrid } from \"./fileViewer/FileViewerGrid\";\nimport type { FileViewerListProps } from \"./fileViewer/FileViewerList\";\nimport { FileViewerList } from \"./fileViewer/FileViewerList\";\nimport { ImageViewer } from \"./fileViewer/ImageViewer\";\n\ninterface FileViewerComponent {\n Grid: ComponentType<FileViewerGridProps>;\n List: ComponentType<FileViewerListProps>;\n}\n\ninterface FileViewerProps {\n appName: string;\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> = ({\n appName,\n subId,\n onDelete,\n actions,\n children,\n}) => {\n const { data: fileMetas = [] } = useQuery({\n ...fileMetasQueryOptions({ appName, subId }),\n enabled: !!subId,\n });\n const [imageId, setImageId] = useState<string>(\"\");\n\n if (fileMetas.length === 0) return null;\n\n return (\n <FileContext.Provider value={{ appName, fileMetas, onDelete, actions, setImageId }}>\n {children({ Grid: FileViewerGrid, List: FileViewerList })}\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>({\n params,\n slotProps,\n getLabel,\n}: 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\n direction=\"row\"\n sx={{\n alignItems: \"center\",\n gap: 1,\n overflowX: \"auto\",\n height: \"100%\",\n width: params.colDef.computedWidth,\n }}\n >\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};\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>({\n colDef,\n}: GridColumnHeaderParams<T>) => {\n return (\n <TypographyWithIcon\n endIcon={<Edit color=\"disabled\" fontSize=\"small\" />}\n variant=\"body2\"\n className=\"MuiDataGrid-columnHeaderTitle\"\n >\n {colDef.headerName}\n </TypographyWithIcon>\n );\n};\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\">>(\n function ButtonComponent(props, reference) {\n return <Button ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\n","import { Fab } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { FabProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, FabProps<\"a\">>(\n function FabComponent(props, reference) {\n return <Fab ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterFab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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<\n GridActionsCellItemProps & React.RefAttributes<HTMLButtonElement>\n>;\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterGridActionsCellItem: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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>(\n function LinkComponent(props, reference) {\n return <Link ref={reference} {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterLink: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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\">>(\n function TabComponent(props, reference) {\n return <Tab ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterTab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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\n sx={{\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n px: 2,\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", mb: 4 }}>\n <Typography variant=\"h3\" component=\"span\" sx={{ fontWeight: 500, lineHeight: 1 }}>\n 404\n </Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">\n {t(\"Layout.ThisPageCouldNotBeFound\")}\n </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 return (\n <Box\n sx={{\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n px: 2,\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", mb: 4 }}>\n <Typography variant=\"h3\" component=\"span\" sx={{ fontWeight: 500, lineHeight: 1 }}>\n {error.name || \"500\"}\n </Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">\n {error.message}\n </Typography>\n </Box>\n </Box>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components.js","names":["Typography","TypographyProps","TypographyWithIconProps","startIcon","React","ReactNode","endIcon","gap","TypographyWithIcon","FC","t0","$","_c","$i","Symbol","for","children","props","sx","t1","undefined","t2","display","flexShrink","t3","alignItems","verticalAlign","t4","Array","isArray","t5","t6","Box","useEffectEvent","useLayoutEffect","useRef","useState","BoxProps","FC","Fullscreen","t0","$","_c","$i","Symbol","for","children","props","sx","reference","height","setHeight","t1","current","top","getBoundingClientRect","viewportHeight","window","visualViewport","innerHeight","avail","Math","max","floor","recompute","t2","element","addEventListener","ro","ResizeObserver","observe","document","documentElement","body","removeEventListener","disconnect","t3","t4","display","flexDirection","boxSizing","minHeight","width","overflow","t5","CloudUpload","Box","Typography","useTheme","useDropzone","useTranslation","SxProps","Theme","CSSProperties","FC","DropzoneOptions","baseStyle","flex","display","flexDirection","alignItems","padding","borderWidth","borderRadius","borderStyle","outline","transition","cursor","DropzoneProps","sx","Dropzone","t0","$","_c","$i","Symbol","for","props","getRootProps","getInputProps","isFocused","isDragAccept","isDragReject","t","theme","t1","vars","T0","t2","palette","text","disabled","style","borderColor","primary","main","success","error","t3","t4","t5","t6","t7","t8","t9","createContext","useContext","FileMeta","FileActions","FileContextValue","appName","fileMetas","Array","onDelete","params","remainingFileMetas","deletedFileMeta","actions","setImageId","imageId","FileContext","useFile","$","_c","$i","Symbol","for","context","Error","Delete","FileDownload","List","ListItemButton","ListItemIcon","ListItemText","Menu","useMutation","useTranslation","FC","FileMeta","useFile","useDialogs","deleteFileMutationOptions","downloadFileMutationOptions","ActionsMenuProps","meta","menu","mouseX","mouseY","setMenu","ActionsMenu","t0","$","_c","$i","Symbol","for","t","fileMetas","onDelete","actions","appName","confirm","t1","handleMenuClose","t2","mutate","download","isPending","isDownloading","t3","deleteFile","isDeleting","t4","fileExtension","fileName","id","handleOnDownload","t5","remainingFileMetas","filter","m","deletedFileMeta","handleOnDelete","t6","t7","undefined","top","left","t8","t9","delete","t10","t11","MoreVert","Box","IconButton","ImageListItem","ImageListItemBar","Stack","Tooltip","grey","useMutation","useQuery","useQueryClient","React","Fragment","useEffect","useState","useInView","ActionsMenu","FileMeta","SxProps","Theme","useFile","downloadFileMutationOptions","fileQueryOptions","fileThumbnailQueryOptions","openFileMutationOptions","IMAGE_SIZE","FileViewerGridItemBar","FileViewerGridProps","size","itemBar","sx","FileViewerGrid","FC","t0","$","_c","$i","Symbol","for","fileMetas","t1","overflow","t2","t3","fileMeta","id","map","GridFileViewerItemProps","meta","GridFileViewerItem","setImageId","actions","appName","showItemBar","setShowItemBar","menu","setMenu","ref","inView","queryClient","t4","enabled","data","source","t5","handleOnMouseEnter","t6","handleOnMouseLeave","t7","event","mouseX","clientX","mouseY","clientY","setTimeout","openMenu","t8","mutate","openFile","t9","download","t10","fileExtension","fileName","mediaType","onClick","t11","t12","t13","width","height","t14","t15","prefetchQuery","t16","t17","t18","cursor","objectFit","t19","t20","delete","color","t21","t22","t23","AttachFile","Image","MoreVert","SmartDisplay","IconButton","List","ListItemButton","ListItemIcon","ListItemText","Fragment","useState","useMutation","useQueryClient","ActionsMenu","FC","SxProps","Theme","FileMeta","useFile","downloadFileMutationOptions","fileQueryOptions","openFileMutationOptions","FileViewerListProps","sx","FileViewerList","t0","$","_c","$i","Symbol","for","fileMetas","t1","map","_temp","t2","ListFileViewerItemProps","meta","ListFileViewerItem","React","setImageId","actions","appName","menu","setMenu","queryClient","event","stopPropagation","mouseX","clientX","mouseY","clientY","openMenu","mutate","openFile","t3","download","t4","fileExtension","fileName","id","mediaType","onClick","t5","icon","t6","prefetchQuery","t7","t8","t9","t10","delete","t11","t12","t13","fileMeta","Close","Box","Dialog","Fab","useQuery","React","useEffect","FileMeta","useFile","fileQueryOptions","ImageViewerProps","metaId","ImageViewer","FC","fileMetas","setImageId","appName","meta","find","m","id","data","source","globalThis","addEventListener","handleOnKeydown","removeEventListener","event","KeyboardEvent","images","Array","filter","mediaType","imageIndex","findIndex","key","handleOnArrowLeft","handleOnArrowRight","preventDefault","onClose","index","previousFile","length","nextFile","maxWidth","maxHeight","xs","sm","position","top","right","useQuery","ComponentType","FC","ReactNode","useState","FileContext","FileActions","FileMeta","fileMetasQueryOptions","FileViewerGridProps","FileViewerGrid","FileViewerListProps","FileViewerList","ImageViewer","FileViewerComponent","Grid","List","FileViewerProps","appName","subId","onDelete","params","remainingFileMetas","Array","deletedFileMeta","actions","children","component","FileViewer","t0","$","_c","$i","Symbol","for","t1","t2","t3","enabled","data","t4","t5","undefined","fileMetas","imageId","setImageId","length","t6","t7","t8","t9","Chip","Stack","ChipProps","GridRenderCellParams","GridValidRowModel","isArray","value","Array","ChipInputCellProps","params","T","slotProps","getLabel","object","ChipInputCell","t0","$","_c","$i","Symbol","for","t1","getLabelValue","t2","colDef","computedWidth","alignItems","gap","overflowX","height","width","t3","t4","value_0","index","map","Edit","TypographyWithIcon","GridColumnHeaderParams","GridValidRowModel","EditableColumnHeader","t0","$","_c","$i","Symbol","for","colDef","t1","t2","headerName","Button","createLink","React","ButtonProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","ButtonComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterButton","Fab","createLink","React","FabProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","FabComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterFab","GridActionsCellItem","createLink","React","GridActionsCellItemProps","LinkComponent","Component","forwardRef","HTMLButtonElement","GridActionsCellItemComponent","props","reference","$","_c","$i","Symbol","for","t0","ForwardRefExoticComponent","RefAttributes","CreatedComponent","RouterGridActionsCellItem","Link","createLink","React","LinkProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterLink","Tab","createLink","React","TabProps","LinkComponent","Component","forwardRef","HTMLAnchorElement","TabComponent","props","reference","$","_c","$i","Symbol","for","t0","CreatedComponent","RouterTab","Box","Divider","Typography","useTranslation","RouterNotFound","$","_c","$i","Symbol","for","t","t0","height","display","flexDirection","alignItems","justifyContent","textAlign","px","t1","mb","t2","fontWeight","lineHeight","t3","mx","t4","t5","Box","Divider","Typography","FC","ErrorComponentProps","RouterErrorProps","error","RouterError","t0","$","_c","$i","Symbol","for","t1","height","display","flexDirection","alignItems","justifyContent","textAlign","px","t2","mb","t3","fontWeight","lineHeight","t4","name","t5","t6","mx","t7","message","t8"],"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/RouterFab.tsx","../src/components/router/RouterGridActionsCellItem.tsx","../src/components/router/RouterLink.tsx","../src/components/router/RouterTab.tsx","../src/components/router/RouterNotFound.tsx","../src/components/router/RouterError.tsx"],"sourcesContent":["import { Typography } from \"@mui/material\";\nimport type { TypographyProps } from \"@mui/material\";\n\ninterface TypographyWithIconProps extends TypographyProps {\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n gap?: number | string;\n}\n\nexport const TypographyWithIcon: React.FC<TypographyWithIconProps> = ({\n startIcon,\n endIcon,\n children,\n gap = 1,\n sx,\n ...props\n}) => (\n <Typography\n component=\"span\"\n sx={[\n {\n display: \"inline-flex\",\n alignItems: \"center\",\n verticalAlign: \"middle\",\n gap,\n \"& > svg\": { display: \"block\", flexShrink: 0 },\n },\n ...(Array.isArray(sx) ? sx : [sx]),\n ]}\n {...props}\n >\n {startIcon}\n {children}\n {endIcon}\n </Typography>\n);\n","import { Box } from \"@mui/material\";\nimport { useEffectEvent, useLayoutEffect, 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 = reference.current.getBoundingClientRect().top;\n const viewportHeight = window.visualViewport?.height ?? window.innerHeight;\n const avail = Math.max(0, Math.floor(viewportHeight - top));\n setHeight(avail);\n });\n\n useLayoutEffect(() => {\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 boxSizing: \"border-box\",\n minHeight: 0,\n width: \"100%\",\n overflow: \"auto\",\n height,\n ...sx,\n }}\n {...props}\n >\n {children}\n </Box>\n );\n};\n","import CloudUpload from \"@mui/icons-material/CloudUpload\";\nimport { Box, 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 borderColor: (theme.vars || theme).palette.text.disabled,\n ...(isFocused ? { borderColor: (theme.vars || theme).palette.primary.main } : {}),\n ...(isDragAccept ? { borderColor: (theme.vars || theme).palette.success.main } : {}),\n ...(isDragReject ? { borderColor: (theme.vars || theme).palette.error.main } : {}),\n };\n\n return (\n <Box {...getRootProps({ style })} sx={sx}>\n <input {...getInputProps()} style={{ display: \"none\" }} />\n <CloudUpload />\n <Typography>{t(\"Layout.File.DragSomeFilesHereOrClickToSelectThem\")}</Typography>\n </Box>\n );\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 appName: string;\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};\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 { useMutation } from \"@tanstack/react-query\";\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/useDialogs\";\nimport { deleteFileMutationOptions, downloadFileMutationOptions } from \"~/queries/client/file\";\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, appName } = useFile();\n const { confirm } = useDialogs();\n\n const handleMenuClose = () => {\n setMenu(null);\n };\n\n const { mutate: download, isPending: isDownloading } = useMutation(downloadFileMutationOptions());\n const { mutate: deleteFile, isPending: isDeleting } = useMutation(deleteFileMutationOptions());\n\n const handleOnDownload = () => {\n handleMenuClose();\n download({ id: meta.id, appName, fileName: meta.fileName, fileExtension: meta.fileExtension });\n };\n\n const handleOnDelete = async () => {\n if (!(await confirm(t(\"Layout.File.AreYouSureYouWantToDelete\", { fileName: meta.fileName }))))\n return;\n\n deleteFile({ id: meta.id, appName });\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\n open={menu !== null}\n onClose={handleMenuClose}\n anchorReference=\"anchorPosition\"\n variant=\"menu\"\n anchorPosition={menu === null ? undefined : { top: menu.mouseY, left: menu.mouseX }}\n >\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 { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useInView } from \"react-intersection-observer\";\nimport { ActionsMenu } from \"./common/ActionsMenu\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport type { SxProps, Theme } from \"@mui/material\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport {\n downloadFileMutationOptions,\n fileQueryOptions,\n fileThumbnailQueryOptions,\n openFileMutationOptions,\n} from \"~/queries/client/file\";\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 key={fileMeta.id} meta={fileMeta} size={size} itemBar={itemBar} />\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, appName } = 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 const queryClient = useQueryClient();\n\n useEffect(() => {\n setShowItemBar(itemBar === \"always\");\n }, [itemBar]);\n\n const { data: source } = useQuery({\n ...fileThumbnailQueryOptions({ id: meta.id, appName }),\n enabled: inView,\n });\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 } = useMutation(openFileMutationOptions());\n const { mutate: download } = useMutation(downloadFileMutationOptions());\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": {\n return setImageId(meta.id);\n }\n case \"application\": {\n return openFile({ id: meta.id, appName });\n }\n case \"video\": {\n return openFile({ id: meta.id, appName });\n }\n default: {\n return download({\n id: meta.id,\n appName,\n fileName: meta.fileName,\n fileExtension: meta.fileExtension,\n });\n }\n }\n };\n\n return (\n <Fragment>\n <ImageListItem\n sx={{ width: size ?? IMAGE_SIZE, height: size ?? IMAGE_SIZE }}\n onMouseEnter={handleOnMouseEnter}\n onMouseLeave={handleOnMouseLeave}\n ref={ref}\n >\n <Box\n component=\"img\"\n src={source}\n loading=\"lazy\"\n alt={\"thumbnail-\" + meta.id}\n onClick={onClick}\n onMouseEnter={() => queryClient.prefetchQuery(fileQueryOptions({ id: meta.id, appName }))}\n sx={{\n cursor: \"pointer\",\n objectFit: \"contain\",\n width: size ?? IMAGE_SIZE,\n height: size ?? IMAGE_SIZE,\n }}\n />\n {itemBar !== \"hidden\" && showItemBar && (\n <ImageListItemBar\n title={\n <Tooltip title={meta.fileName}>\n <Box>{meta.fileName}</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 )}\n </ImageListItem>\n\n {(actions?.download !== false || actions.delete !== false) && (\n <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />\n )}\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 { useMutation, useQueryClient } from \"@tanstack/react-query\";\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 {\n downloadFileMutationOptions,\n fileQueryOptions,\n openFileMutationOptions,\n} from \"~/queries/client/file\";\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 key={fileMeta.id} meta={fileMeta} />\n ))}\n </List>\n );\n};\n\ninterface ListFileViewerItemProps {\n meta: FileMeta;\n}\n\nexport const ListFileViewerItem: React.FC<ListFileViewerItemProps> = ({ meta }) => {\n const { setImageId, actions, appName } = useFile();\n const [menu, setMenu] = useState<{ mouseX: number; mouseY: number } | null>(null);\n const queryClient = useQueryClient();\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 } = useMutation(openFileMutationOptions());\n const { mutate: download } = useMutation(downloadFileMutationOptions());\n\n const onClick = () => {\n switch (meta.mediaType) {\n case \"image\": {\n return setImageId(meta.id);\n }\n case \"application\": {\n return openFile({ id: meta.id, appName });\n }\n case \"video\": {\n return openFile({ id: meta.id, appName });\n }\n default: {\n return download({\n id: meta.id,\n appName,\n fileName: meta.fileName,\n fileExtension: meta.fileExtension,\n });\n }\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\n key={meta.id}\n onClick={onClick}\n onMouseEnter={() => queryClient.prefetchQuery(fileQueryOptions({ id: meta.id, appName }))}\n >\n <ListItemIcon>{icon()}</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) && (\n <ActionsMenu meta={meta} menu={menu} setMenu={setMenu} />\n )}\n </Fragment>\n );\n};\n","import Close from \"@mui/icons-material/Close\";\nimport { Box, Dialog, Fab } from \"@mui/material\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport React, { useEffect } from \"react\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { useFile } from \"~/contexts/FileContext\";\nimport { fileQueryOptions } from \"~/queries/client/file\";\n\ninterface ImageViewerProps {\n metaId: string;\n}\n\nexport const ImageViewer: React.FC<ImageViewerProps> = ({ metaId }) => {\n const { fileMetas, setImageId, appName } = useFile();\n\n const meta = fileMetas.find((m) => m.id === metaId)!;\n\n const { data: source } = useQuery(fileQueryOptions({ id: meta.id, appName }));\n\n useEffect(() => {\n if (metaId) globalThis.addEventListener(\"keydown\", handleOnKeydown);\n\n return () => {\n globalThis.removeEventListener(\"keydown\", handleOnKeydown);\n };\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\n component=\"img\"\n src={source}\n alt={metaId}\n sx={{\n maxWidth: \"100vw\",\n maxHeight: { xs: \"calc(100vh - 56px)\", sm: \"calc(100vh - 64px)\" },\n }}\n />\n\n <Fab size=\"medium\" onClick={onClose} sx={{ position: \"fixed\", top: 8, right: 8 }}>\n <Close />\n </Fab>\n </Dialog>\n );\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport type { ComponentType, FC, ReactNode } from \"react\";\nimport { useState } from \"react\";\nimport { FileContext } from \"~/contexts/FileContext\";\nimport type { FileActions } from \"~/models/file/FileActions\";\nimport type { FileMeta } from \"~/models/file/FileMeta\";\nimport { fileMetasQueryOptions } from \"~/queries/client/file\";\nimport type { FileViewerGridProps } from \"./fileViewer/FileViewerGrid\";\nimport { FileViewerGrid } from \"./fileViewer/FileViewerGrid\";\nimport type { FileViewerListProps } from \"./fileViewer/FileViewerList\";\nimport { FileViewerList } from \"./fileViewer/FileViewerList\";\nimport { ImageViewer } from \"./fileViewer/ImageViewer\";\n\ninterface FileViewerComponent {\n Grid: ComponentType<FileViewerGridProps>;\n List: ComponentType<FileViewerListProps>;\n}\n\ninterface FileViewerProps {\n appName: string;\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> = ({\n appName,\n subId,\n onDelete,\n actions,\n children,\n}) => {\n const { data: fileMetas = [] } = useQuery({\n ...fileMetasQueryOptions({ appName, subId }),\n enabled: !!subId,\n });\n const [imageId, setImageId] = useState<string>(\"\");\n\n if (fileMetas.length === 0) return null;\n\n return (\n <FileContext.Provider value={{ appName, fileMetas, onDelete, actions, setImageId }}>\n {children({ Grid: FileViewerGrid, List: FileViewerList })}\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>({\n params,\n slotProps,\n getLabel,\n}: 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\n direction=\"row\"\n sx={{\n alignItems: \"center\",\n gap: 1,\n overflowX: \"auto\",\n height: \"100%\",\n width: params.colDef.computedWidth,\n }}\n >\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};\n","import Edit from \"@mui/icons-material/Edit\";\r\nimport { TypographyWithIcon } from \"../core/TypographyWithIcon\";\r\nimport type { GridColumnHeaderParams, GridValidRowModel } from \"@mui/x-data-grid-premium\";\r\n\r\nexport const EditableColumnHeader = <T extends GridValidRowModel>({\r\n colDef,\r\n}: GridColumnHeaderParams<T>) => {\r\n return (\r\n <TypographyWithIcon\r\n endIcon={<Edit color=\"disabled\" fontSize=\"small\" />}\r\n variant=\"body2\"\r\n className=\"MuiDataGrid-columnHeaderTitle\"\r\n >\r\n {colDef.headerName}\r\n </TypographyWithIcon>\r\n );\r\n};\r\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\">>(\n function ButtonComponent(props, reference) {\n return <Button ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterButton: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\n","import { Fab } from \"@mui/material\";\nimport { createLink } from \"@tanstack/react-router\";\nimport React from \"react\";\nimport type { FabProps } from \"@mui/material\";\nimport type { LinkComponent } from \"@tanstack/react-router\";\n\nconst Component = React.forwardRef<HTMLAnchorElement, FabProps<\"a\">>(\n function FabComponent(props, reference) {\n return <Fab ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterFab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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<\n GridActionsCellItemProps & React.RefAttributes<HTMLButtonElement>\n>;\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterGridActionsCellItem: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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>(\n function LinkComponent(props, reference) {\n return <Link ref={reference} {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterLink: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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\">>(\n function TabComponent(props, reference) {\n return <Tab ref={reference} component=\"a\" {...props} />;\n },\n);\n\nconst CreatedComponent = createLink(Component);\n\nexport const RouterTab: LinkComponent<typeof Component> = (props) => {\n return <CreatedComponent {...props} />;\n};\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\n sx={{\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n px: 2,\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", mb: 4 }}>\n <Typography variant=\"h3\" component=\"span\" sx={{ fontWeight: 500, lineHeight: 1 }}>\n 404\n </Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">\n {t(\"Layout.ThisPageCouldNotBeFound\")}\n </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 return (\n <Box\n sx={{\n height: \"100vh\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n px: 2,\n }}\n >\n <Box sx={{ display: \"flex\", alignItems: \"center\", mb: 4 }}>\n <Typography variant=\"h3\" component=\"span\" sx={{ fontWeight: 500, lineHeight: 1 }}>\n {error.name || \"500\"}\n </Typography>\n <Divider orientation=\"vertical\" flexItem sx={{ mx: 3 }} />\n <Typography variant=\"h5\" component=\"span\">\n {error.message}\n </Typography>\n </Box>\n </Box>\n );\n};\n"],"mappings":"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"}
|