@erpsquad/common 1.8.100 → 1.8.101

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 (52) hide show
  1. package/dist/_virtual/index/index.esm10.js +3 -3
  2. package/dist/_virtual/index/index.esm11.js +2 -4
  3. package/dist/_virtual/index/index.esm11.js.map +1 -1
  4. package/dist/_virtual/index/index.esm3.js +4 -2
  5. package/dist/_virtual/index/index.esm3.js.map +1 -1
  6. package/dist/_virtual/index/index.esm4.js +3 -3
  7. package/dist/_virtual/index/index.esm5.js +3 -3
  8. package/dist/_virtual/index/index.esm6.js +3 -3
  9. package/dist/_virtual/index/index.esm7.js +3 -3
  10. package/dist/_virtual/index/index.esm8.js +3 -3
  11. package/dist/_virtual/index/index.esm9.js +3 -3
  12. package/dist/_virtual/index/index10.js +1 -1
  13. package/dist/_virtual/index/index11.js +1 -1
  14. package/dist/_virtual/index/index3.js +1 -1
  15. package/dist/_virtual/index/index4.js +1 -1
  16. package/dist/_virtual/index/index5.js +1 -1
  17. package/dist/_virtual/index/index6.js +1 -1
  18. package/dist/_virtual/index/index7.js +1 -1
  19. package/dist/_virtual/index/index8.js +1 -1
  20. package/dist/_virtual/index/index9.js +1 -1
  21. package/dist/components/header/redux/actionCreator/index.esm.js +0 -3
  22. package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
  23. package/dist/components/header/redux/actionCreator/index.js +1 -1
  24. package/dist/components/header/redux/actionCreator/index.js.map +1 -1
  25. package/dist/components/share-modal/redux/actionCreator/index.esm.js +0 -3
  26. package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
  27. package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
  28. package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
  29. package/dist/contexts/languageContext/index.esm.js +4 -2
  30. package/dist/contexts/languageContext/index.esm.js.map +1 -1
  31. package/dist/contexts/languageContext/index.js +2 -2
  32. package/dist/contexts/languageContext/index.js.map +1 -1
  33. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
  34. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
  35. package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js.map +1 -1
  36. package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
  37. package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
  38. package/dist/node_modules/@mui/system/colorManipulator/index.js.map +1 -1
  39. package/dist/node_modules/@mui/system/createStyled/index.esm.js +6 -6
  40. package/dist/node_modules/@mui/system/createStyled/index.js +1 -1
  41. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.esm.js +1 -1
  42. package/dist/node_modules/@mui/system/useThemeWithoutDefault/index.js +1 -1
  43. package/dist/style.css +74 -74
  44. package/dist/utils/api/index.esm.js +3 -0
  45. package/dist/utils/api/index.esm.js.map +1 -1
  46. package/dist/utils/api/index.js +1 -1
  47. package/dist/utils/api/index.js.map +1 -1
  48. package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -2
  49. package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
  50. package/dist/views/template-editor/components/EditorSidebar/index.js +14 -14
  51. package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
  52. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive, setBaseUrl as setDriveUrl } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nsetDriveUrl(`${getApiConfig().backendBaseUrl}/document`);\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["setDriveUrl","TextIcon","ImageIcon","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","error","ExpandMoreIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["TextIcon","ImageIcon","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","error","ExpandMoreIcon"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),r=require("../../../../node_modules/@dnd-kit/core/dist/core.esm/index.js"),d=require("react-dropzone"),t=require("../../../../node_modules/@mui/icons-material/ExpandMore/index.js"),a=require("../../../../api-client/api.drive/api/index.js"),s=require("../../../../components/search-bar/search-bar/index.js"),o=require("../../../../utils/common/index.js"),l=require("../../../../node_modules/@mui/material/Box/Box/index.js"),n=require("../../../../node_modules/lucide-react/dist/esm/icons/heading/index.js"),c=require("../../../../node_modules/lucide-react/dist/esm/icons/text/index.js"),u=require("../../../../node_modules/@mui/material/styles/styled/index.js"),x=require("../../../../node_modules/@mui/material/Typography/Typography/index.js"),m=require("../../../../node_modules/@mui/material/CircularProgress/CircularProgress/index.js"),g=require("../../../../node_modules/@mui/material/Alert/Alert/index.js"),p=require("../../../../node_modules/@mui/material/Grid/Grid/index.js"),j=require("../../../../node_modules/lucide-react/dist/esm/icons/image/index.js"),b=require("../../../../node_modules/@mui/material/Divider/Divider/index.js"),f=require("../../../../node_modules/lucide-react/dist/esm/icons/table/index.js"),h=require("../../../../node_modules/lucide-react/dist/esm/icons/blocks/index.js"),y=require("../../../../node_modules/lucide-react/dist/esm/icons/qr-code/index.js"),q=require("../../../../node_modules/lucide-react/dist/esm/icons/barcode/index.js"),v=require("../../../../node_modules/@mui/material/Accordion/Accordion/index.js"),_=require("../../../../node_modules/@mui/material/AccordionSummary/AccordionSummary/index.js"),z=require("../../../../node_modules/@mui/material/AccordionDetails/AccordionDetails/index.js"),C=require("../../../../node_modules/@mui/material/ListItemIcon/ListItemIcon/index.js"),k=require("../../../../node_modules/@mui/material/ListItemText/ListItemText/index.js"),S=require("../../../../node_modules/@mui/material/ListItem/ListItem/index.js"),B=require("../../../../utils/api-config/index.js");a.setBaseUrl(`${B.getApiConfig().backendBaseUrl}/document`);const D=u.default(S.default)(({theme:e})=>({padding:e.spacing(1.5),cursor:"grab",borderRadius:e.shape.borderRadius,"&:hover":{backgroundColor:e.palette.grey[100]},"&.dragging":{opacity:.5}})),I=u.default(l.default)(({theme:e})=>({border:`2px dashed ${e.palette.grey[400]}`,borderRadius:e.shape.borderRadius,padding:e.spacing(2),textAlign:"center",backgroundColor:e.palette.grey[50],cursor:"pointer","&:hover":{backgroundColor:e.palette.grey[100]}})),w=({id:i,icon:d,label:t,imageUrl:a})=>{const s="string"==typeof i?i.replace("sidebar-",""):i,{attributes:o,listeners:l,setNodeRef:n,isDragging:c}=r.useDraggable({id:i,data:{type:a?"image":s,imageUrl:a,label:t}});/* @__PURE__ */
2
- return e.jsx(D,{ref:n,...l,...o,className:c?"dragging":"",sx:{border:"1px solid",borderColor:"grey.200",p:.75},children:a?/* @__PURE__ */e.jsx("img",{src:a,alt:t,style:{width:"100%",height:140,objectFit:"cover",marginRight:8}}):/* @__PURE__ */e.jsxs(e.Fragment,{children:[
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),r=require("../../../../node_modules/@dnd-kit/core/dist/core.esm/index.js"),d=require("react-dropzone"),t=require("../../../../node_modules/@mui/icons-material/ExpandMore/index.js"),a=require("../../../../api-client/api.drive/api/index.js"),s=require("../../../../components/search-bar/search-bar/index.js"),o=require("../../../../utils/common/index.js"),l=require("../../../../node_modules/@mui/material/Box/Box/index.js"),n=require("../../../../node_modules/lucide-react/dist/esm/icons/heading/index.js"),c=require("../../../../node_modules/lucide-react/dist/esm/icons/text/index.js"),u=require("../../../../node_modules/@mui/material/styles/styled/index.js"),x=require("../../../../node_modules/@mui/material/Typography/Typography/index.js"),m=require("../../../../node_modules/@mui/material/CircularProgress/CircularProgress/index.js"),g=require("../../../../node_modules/@mui/material/Alert/Alert/index.js"),p=require("../../../../node_modules/@mui/material/Grid/Grid/index.js"),j=require("../../../../node_modules/lucide-react/dist/esm/icons/image/index.js"),b=require("../../../../node_modules/@mui/material/Divider/Divider/index.js"),f=require("../../../../node_modules/lucide-react/dist/esm/icons/table/index.js"),h=require("../../../../node_modules/lucide-react/dist/esm/icons/blocks/index.js"),y=require("../../../../node_modules/lucide-react/dist/esm/icons/qr-code/index.js"),q=require("../../../../node_modules/lucide-react/dist/esm/icons/barcode/index.js"),v=require("../../../../node_modules/@mui/material/Accordion/Accordion/index.js"),_=require("../../../../node_modules/@mui/material/AccordionSummary/AccordionSummary/index.js"),z=require("../../../../node_modules/@mui/material/AccordionDetails/AccordionDetails/index.js"),C=require("../../../../node_modules/@mui/material/ListItemIcon/ListItemIcon/index.js"),k=require("../../../../node_modules/@mui/material/ListItemText/ListItemText/index.js"),S=require("../../../../node_modules/@mui/material/ListItem/ListItem/index.js"),D=require("../../../../utils/api-config/index.js");const I=u.default(S.default)(({theme:e})=>({padding:e.spacing(1.5),cursor:"grab",borderRadius:e.shape.borderRadius,"&:hover":{backgroundColor:e.palette.grey[100]},"&.dragging":{opacity:.5}})),w=u.default(l.default)(({theme:e})=>({border:`2px dashed ${e.palette.grey[400]}`,borderRadius:e.shape.borderRadius,padding:e.spacing(2),textAlign:"center",backgroundColor:e.palette.grey[50],cursor:"pointer","&:hover":{backgroundColor:e.palette.grey[100]}})),A=({id:i,icon:d,label:t,imageUrl:a})=>{const s="string"==typeof i?i.replace("sidebar-",""):i,{attributes:o,listeners:l,setNodeRef:n,isDragging:c}=r.useDraggable({id:i,data:{type:a?"image":s,imageUrl:a,label:t}});/* @__PURE__ */
2
+ return e.jsx(I,{ref:n,...l,...o,className:c?"dragging":"",sx:{border:"1px solid",borderColor:"grey.200",p:.75},children:a?/* @__PURE__ */e.jsx("img",{src:a,alt:t,style:{width:"100%",height:140,objectFit:"cover",marginRight:8}}):/* @__PURE__ */e.jsxs(e.Fragment,{children:[
3
3
  /* @__PURE__ */e.jsx(C.default,{sx:{minWidth:40},children:d}),
4
- /* @__PURE__ */e.jsx(k.default,{primary:t,primaryTypographyProps:{variant:"body2"}})]})})},A=()=>{const[r,u]=i.useState("text"),[C,k]=i.useState([]),[S,D]=i.useState(!1),[A,T]=i.useState(null),R=i.useCallback(async e=>{D(!0),T(null);try{for(const i of e){const e=await o.uploadFiles([i],"document"),r=o.getToken(),d={...r,"x-timezone":String(r["x-timezone"]||""),title:null==i?void 0:i.name.split(".")[0],path:"/",is_private:!0,is_directory:!1,file_size:i.size,is_child:!1,file_extension:null==i?void 0:i.name.split(".")[1],type:"image",mime_type:i.type,url:`${B.getApiConfig().s3BucketUrl}${e[0]}`};await a.postV1Drive(d),k(r=>[...r,{id:`uploaded-image-${Date.now()}-${Math.random()}`,url:`${B.getApiConfig().s3BucketUrl}${e[0]}`,name:i.name}])}}catch(i){T("Failed to upload image. Please try again.")}finally{D(!1)}},[]),{getRootProps:U,getInputProps:$,isDragActive:H}=d.useDropzone({onDrop:R,accept:{"image/*":[".jpeg",".png",".jpg",".gif"]},multiple:!0}),P=[{id:"text",icon:/* @__PURE__ */e.jsx(c.default,{size:18}),label:"Text",content:/* @__PURE__ */e.jsxs(l.default,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:1},children:[
5
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading",icon:/* @__PURE__ */e.jsx(n.default,{size:20}),label:"Heading 1"}),
6
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading-2",icon:/* @__PURE__ */e.jsx(n.default,{size:18}),label:"Heading 2"}),
7
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading-3",icon:/* @__PURE__ */e.jsx(n.default,{size:16}),label:"Heading 3"}),
8
- /* @__PURE__ */e.jsx(w,{id:"sidebar-heading-4",icon:/* @__PURE__ */e.jsx(n.default,{size:14}),label:"Heading 4"}),
9
- /* @__PURE__ */e.jsx(w,{id:"sidebar-text",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Body"}),
10
- /* @__PURE__ */e.jsx(w,{id:"sidebar-text-block",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Text Block"})]})},{id:"images",icon:/* @__PURE__ */e.jsx(j.default,{size:18}),label:"Images",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
11
- /* @__PURE__ */e.jsxs(I,{...U(),children:[
12
- /* @__PURE__ */e.jsx("input",{...$()}),H?/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drop the images here..."}):/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drag and drop images here, or click to select"}),S&&/* @__PURE__ */e.jsx(l.default,{sx:{mt:1},children:/* @__PURE__ */e.jsx(m.default,{size:20})})]}),A&&/* @__PURE__ */e.jsx(g.default,{severity:"error",sx:{mt:2},children:A}),C.length>0&&/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
4
+ /* @__PURE__ */e.jsx(k.default,{primary:t,primaryTypographyProps:{variant:"body2"}})]})})},B=()=>{const[r,u]=i.useState("text"),[C,k]=i.useState([]),[S,I]=i.useState(!1),[B,T]=i.useState(null),R=i.useCallback(async e=>{I(!0),T(null);try{for(const i of e){const e=await o.uploadFiles([i],"document"),r=o.getToken(),d={...r,"x-timezone":String(r["x-timezone"]||""),title:null==i?void 0:i.name.split(".")[0],path:"/",is_private:!0,is_directory:!1,file_size:i.size,is_child:!1,file_extension:null==i?void 0:i.name.split(".")[1],type:"image",mime_type:i.type,url:`${D.getApiConfig().s3BucketUrl}${e[0]}`};await a.postV1Drive(d),k(r=>[...r,{id:`uploaded-image-${Date.now()}-${Math.random()}`,url:`${D.getApiConfig().s3BucketUrl}${e[0]}`,name:i.name}])}}catch(i){T("Failed to upload image. Please try again.")}finally{I(!1)}},[]),{getRootProps:H,getInputProps:P,isDragActive:$}=d.useDropzone({onDrop:R,accept:{"image/*":[".jpeg",".png",".jpg",".gif"]},multiple:!0}),L=[{id:"text",icon:/* @__PURE__ */e.jsx(c.default,{size:18}),label:"Text",content:/* @__PURE__ */e.jsxs(l.default,{sx:{display:"grid",gridTemplateColumns:"repeat(2, 1fr)",gap:1},children:[
5
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading",icon:/* @__PURE__ */e.jsx(n.default,{size:20}),label:"Heading 1"}),
6
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading-2",icon:/* @__PURE__ */e.jsx(n.default,{size:18}),label:"Heading 2"}),
7
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading-3",icon:/* @__PURE__ */e.jsx(n.default,{size:16}),label:"Heading 3"}),
8
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-heading-4",icon:/* @__PURE__ */e.jsx(n.default,{size:14}),label:"Heading 4"}),
9
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-text",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Body"}),
10
+ /* @__PURE__ */e.jsx(A,{id:"sidebar-text-block",icon:/* @__PURE__ */e.jsx(c.default,{size:20}),label:"Text Block"})]})},{id:"images",icon:/* @__PURE__ */e.jsx(j.default,{size:18}),label:"Images",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
11
+ /* @__PURE__ */e.jsxs(w,{...H(),children:[
12
+ /* @__PURE__ */e.jsx("input",{...P()}),$?/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drop the images here..."}):/* @__PURE__ */e.jsx(x.default,{variant:"body2",color:"text.secondary",children:"Drag and drop images here, or click to select"}),S&&/* @__PURE__ */e.jsx(l.default,{sx:{mt:1},children:/* @__PURE__ */e.jsx(m.default,{size:20})})]}),B&&/* @__PURE__ */e.jsx(g.default,{severity:"error",sx:{mt:2},children:B}),C.length>0&&/* @__PURE__ */e.jsxs(l.default,{sx:{mt:2},children:[
13
13
  /* @__PURE__ */e.jsx(x.default,{variant:"body2",sx:{mb:1,color:"grey.500"},children:"Uploaded Images"}),
14
- /* @__PURE__ */e.jsx(p.default,{container:!0,spacing:1,children:C.map(i=>/* @__PURE__ */e.jsx(p.default,{item:!0,xs:6,children:/* @__PURE__ */e.jsx(w,{id:i.id,label:i.name,imageUrl:i.url})},i.id))})]})]})})},{id:"buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:16,height:16,bgcolor:"grey.400",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"8px"},children:"BTN"}),label:"Buttons",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:20,height:20,bgcolor:"success.main",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px"},children:"BTN"}),label:"Buttons"})})},{id:"divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:18}}),label:"Divider",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:20}}),label:"Divider"})})},{id:"table",icon:/* @__PURE__ */e.jsx(f.default,{size:18}),label:"Table",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-table",icon:/* @__PURE__ */e.jsx(f.default,{size:20}),label:"Table"})})},{id:"signature",icon:/* @__PURE__ */e.jsx(h.default,{size:18}),label:"Signature",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-signature",icon:/* @__PURE__ */e.jsx(h.default,{size:20}),label:"Signature"})})},{id:"qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:18}),label:"QR Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:20}),label:"QR Code"})})},{id:"bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:18}),label:"Bar Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(w,{id:"sidebar-bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:20}),label:"Bar Code"})})}];return i.useEffect(()=>{(async()=>{try{const e=o.getToken(),i=await a.getV1Drive({...e,"x-timezone":String(e["x-timezone"]||""),skip:0,limit:10,filters:"(is_directory.eq=0)"});if("data"in i&&i.data&&"object"==typeof i.data&&"drive"in i.data){const e=i.data.drive||[];k(e)}}catch(e){}})()},[]),/* @__PURE__ */e.jsxs(l.default,{sx:{bgcolor:"background.paper",borderRight:1,borderColor:"grey.200",width:390,display:"flex",flexDirection:"column",height:"calc(100vh - 104px)",boxShadow:"0 2px 8px rgba(0,0,0,0.05)",fontFamily:"Inter, system-ui, Avenir, Helvetica, Arial, sans-serif"},children:[
14
+ /* @__PURE__ */e.jsx(p.default,{container:!0,spacing:1,children:C.map(i=>/* @__PURE__ */e.jsx(p.default,{item:!0,xs:6,children:/* @__PURE__ */e.jsx(A,{id:i.id,label:i.name,imageUrl:i.url})},i.id))})]})]})})},{id:"buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:16,height:16,bgcolor:"grey.400",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"8px"},children:"BTN"}),label:"Buttons",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-buttons",icon:/* @__PURE__ */e.jsx(l.default,{sx:{width:20,height:20,bgcolor:"success.main",borderRadius:1,color:"white",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"10px"},children:"BTN"}),label:"Buttons"})})},{id:"divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:18}}),label:"Divider",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-divider",icon:/* @__PURE__ */e.jsx(b.default,{sx:{width:20}}),label:"Divider"})})},{id:"table",icon:/* @__PURE__ */e.jsx(f.default,{size:18}),label:"Table",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-table",icon:/* @__PURE__ */e.jsx(f.default,{size:20}),label:"Table"})})},{id:"signature",icon:/* @__PURE__ */e.jsx(h.default,{size:18}),label:"Signature",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-signature",icon:/* @__PURE__ */e.jsx(h.default,{size:20}),label:"Signature"})})},{id:"qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:18}),label:"QR Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-qr-code",icon:/* @__PURE__ */e.jsx(y.default,{size:20}),label:"QR Code"})})},{id:"bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:18}),label:"Bar Code",content:/* @__PURE__ */e.jsx(l.default,{sx:{mt:2},children:/* @__PURE__ */e.jsx(A,{id:"sidebar-bar-code",icon:/* @__PURE__ */e.jsx(q.default,{size:20}),label:"Bar Code"})})}];return i.useEffect(()=>{(async()=>{try{const e=o.getToken(),i=await a.getV1Drive({...e,"x-timezone":String(e["x-timezone"]||""),skip:0,limit:10,filters:"(is_directory.eq=0)"});if("data"in i&&i.data&&"object"==typeof i.data&&"drive"in i.data){const e=i.data.drive||[];k(e)}}catch(e){}})()},[]),/* @__PURE__ */e.jsxs(l.default,{sx:{bgcolor:"background.paper",borderRight:1,borderColor:"grey.200",width:390,display:"flex",flexDirection:"column",height:"calc(100vh - 104px)",boxShadow:"0 2px 8px rgba(0,0,0,0.05)",fontFamily:"Inter, system-ui, Avenir, Helvetica, Arial, sans-serif"},children:[
15
15
  /* @__PURE__ */e.jsx(l.default,{sx:{p:2,borderBottom:1,borderColor:"grey.200"},children:/* @__PURE__ */e.jsx(s.SearchBar,{handleSearch:e=>{},sx:{backgroundColor:"#fff !important",border:"1px solid grey"}})}),
16
- /* @__PURE__ */e.jsx(l.default,{sx:{flexGrow:1,overflowY:"auto",p:1},children:P.map(i=>{/* @__PURE__ */return e.jsxs(v.default,{expanded:r===i.id,onChange:(d=i.id,(e,i)=>{u(!!i&&d)}),sx:{border:"none",boxShadow:"none",backgroundColor:"transparent","&:before":{display:"none"},marginBottom:1},children:[
16
+ /* @__PURE__ */e.jsx(l.default,{sx:{flexGrow:1,overflowY:"auto",p:1},children:L.map(i=>{/* @__PURE__ */return e.jsxs(v.default,{expanded:r===i.id,onChange:(d=i.id,(e,i)=>{u(!!i&&d)}),sx:{border:"none",boxShadow:"none",backgroundColor:"transparent","&:before":{display:"none"},marginBottom:1},children:[
17
17
  /* @__PURE__ */e.jsx(_.default,{expandIcon:/* @__PURE__ */e.jsx(t.default,{sx:{color:"grey.600"}}),sx:{borderRadius:"8px",padding:"0 12px",backgroundColor:r===i.id?"grey.200":"grey.50","&:hover":{backgroundColor:"grey.50"},transition:"background-color 0.2s ease",minHeight:42,"& .MuiAccordionSummary-content":{alignItems:"center",margin:"8px 0"},"&.Mui-expanded":{minHeight:42}},children:/* @__PURE__ */e.jsxs(l.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[i.icon,
18
18
  /* @__PURE__ */e.jsx(x.default,{variant:"body2",sx:{fontWeight:500,color:"text.primary"},children:i.label})]})}),
19
- /* @__PURE__ */e.jsx(z.default,{sx:{padding:"8px 16px"},children:i.content})]},i.id);var d})})]})};exports.EditorSidebar=A,exports.default=A;
19
+ /* @__PURE__ */e.jsx(z.default,{sx:{padding:"8px 16px"},children:i.content})]},i.id);var d})})]})};exports.EditorSidebar=B,exports.default=B;
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive, setBaseUrl as setDriveUrl } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nsetDriveUrl(`${getApiConfig().backendBaseUrl}/document`);\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["setDriveUrl","getApiConfig","backendBaseUrl","StyledListItem","styled","ListItem","theme","padding","spacing","cursor","borderRadius","shape","backgroundColor","palette","grey","opacity","DropzoneBox","Box","border","textAlign","SidebarItem","id","icon","label","imageUrl","elementType","replace","attributes","listeners","setNodeRef","isDragging","useDraggable","data","type","jsx","ref","className","sx","borderColor","p","children","src","alt","style","width","height","objectFit","marginRight","jsxs","Fragment","ListItemIcon","minWidth","ListItemText","primary","primaryTypographyProps","variant","EditorSidebar","expanded","setExpanded","useState","uploadedImages","setUploadedImages","uploading","setUploading","error","setError","onDrop","useCallback","async","acceptedFiles","file","uFiles","uploadFiles","token","getToken","payload","String","title","name","split","path","is_private","is_directory","file_size","size","is_child","file_extension","mime_type","url","s3BucketUrl","postV1Drive","prev","Date","now","Math","random","err","getRootProps","getInputProps","isDragActive","useDropzone","accept","multiple","sections","TextIcon","content","display","gridTemplateColumns","gap","Heading","ImageIcon","mt","Typography","color","CircularProgress","Alert","severity","length","mb","Grid","container","map","image","item","xs","bgcolor","alignItems","justifyContent","fontSize","Divider","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","useEffect","response","getV1Drive","skip","limit","filters","files","drive","getDriveFiles","borderRight","flexDirection","boxShadow","fontFamily","borderBottom","SearchBar","handleSearch","key","flexGrow","overflowY","section","Accordion","onChange","panel","event","isExpanded","marginBottom","AccordionSummary","expandIcon","ExpandMoreIcon","transition","minHeight","margin","fontWeight","AccordionDetails"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/template-editor/components/EditorSidebar.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport React, { useState, useCallback, useEffect } from 'react';\nimport { useDraggable } from '@dnd-kit/core';\nimport { useDropzone } from 'react-dropzone';\nimport {\n Box,\n Divider,\n ListItem,\n ListItemIcon,\n ListItemText,\n Grid,\n Accordion,\n AccordionSummary,\n AccordionDetails,\n Typography,\n CircularProgress,\n Alert,\n} from '@mui/material';\nimport {\n Heading,\n Text as TextIcon,\n Image as ImageIcon,\n Table as TableIcon,\n Blocks as SignatureIcon,\n QrCode as QrCodeIcon,\n Barcode as BarcodeIcon,\n} from 'lucide-react';\nimport { styled } from '@mui/material/styles';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport { getV1Drive, postV1Drive } from '../../../api-client/api.drive/api';\nimport SearchBar from '../../../components/search-bar/search-bar';\nimport { getToken, uploadFiles } from '../../../utils/common';\nimport { getApiConfig } from '@/utils';\n\nconst StyledListItem = styled(ListItem)(({ theme }) => ({\n padding: theme.spacing(1.5),\n cursor: 'grab',\n borderRadius: theme.shape.borderRadius,\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n '&.dragging': {\n opacity: 0.5,\n },\n}));\n\nconst DropzoneBox = styled(Box)(({ theme }) => ({\n border: `2px dashed ${theme.palette.grey[400]}`,\n borderRadius: theme.shape.borderRadius,\n padding: theme.spacing(2),\n textAlign: 'center',\n backgroundColor: theme.palette.grey[50],\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.grey[100],\n },\n}));\n\nconst SidebarItem = ({ id, icon, label, imageUrl }: { id: string; icon?: React.ReactElement; label: string; imageUrl?: string }) => {\n // Extract the element type from the sidebar item id\n const elementType = typeof id === 'string' ? id.replace('sidebar-', '') : id;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id,\n data: {\n // Pass the correct type based on the id\n type: imageUrl ? 'image' : elementType,\n imageUrl,\n label,\n },\n });\n\n return (\n <StyledListItem\n ref={setNodeRef}\n {...listeners}\n {...attributes}\n className={isDragging ? 'dragging' : ''}\n sx={{ border: '1px solid', borderColor: 'grey.200', p: 0.75 }}\n >\n {imageUrl ? (\n <img\n src={imageUrl}\n alt={label}\n style={{ width: '100%', height: 140, objectFit: 'cover', marginRight: 8 }}\n />\n ) : (\n <>\n <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>\n <ListItemText primary={label} primaryTypographyProps={{ variant: 'body2' }} />\n </>\n )}\n </StyledListItem>\n );\n};\n\nconst EditorSidebar = () => {\n const [expanded, setExpanded] = useState('text');\n const [uploadedImages, setUploadedImages] = useState([]);\n const [uploading, setUploading] = useState(false);\n const [error, setError] = useState(null);\n\n const handleChange = (panel) => (event, isExpanded) => {\n setExpanded(isExpanded ? panel : false);\n };\n\n const onDrop = useCallback(async (acceptedFiles) => {\n setUploading(true);\n setError(null);\n try {\n for (const file of acceptedFiles) {\n const uFiles = await uploadFiles([file], \"document\");\n const token = getToken();\n const payload = {\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n \"title\": file?.name.split(\".\")[0],\n \"path\": \"/\",\n \"is_private\": true,\n \"is_directory\": false,\n \"file_size\": file.size,\n \"is_child\": false,\n \"file_extension\": file?.name.split(\".\")[1],\n \"type\": \"image\",\n \"mime_type\": file.type,\n \"url\": `${getApiConfig().s3BucketUrl}${uFiles[0]}`\n }\n // Replace with your actual API endpoint\n await postV1Drive(payload);\n\n setUploadedImages((prev) => [\n ...prev,\n {\n id: `uploaded-image-${Date.now()}-${Math.random()}`,\n url: `${getApiConfig().s3BucketUrl}${uFiles[0]}`, // Assume API returns imageUrl\n name: file.name,\n },\n ]);\n }\n } catch (err) {\n setError('Failed to upload image. Please try again.');\n } finally {\n setUploading(false);\n }\n }, []);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDrop,\n accept: { 'image/*': ['.jpeg', '.png', '.jpg', '.gif'] },\n multiple: true,\n });\n\n const sections = [\n {\n id: 'text',\n icon: <TextIcon size={18} />,\n label: 'Text',\n content: (\n <Box sx={{ display: 'grid', gridTemplateColumns: 'repeat(2, 1fr)', gap: 1 }}>\n <SidebarItem id=\"sidebar-heading\" icon={<Heading size={20} />} label=\"Heading 1\" />\n <SidebarItem id=\"sidebar-heading-2\" icon={<Heading size={18} />} label=\"Heading 2\" />\n <SidebarItem id=\"sidebar-heading-3\" icon={<Heading size={16} />} label=\"Heading 3\" />\n <SidebarItem id=\"sidebar-heading-4\" icon={<Heading size={14} />} label=\"Heading 4\" />\n <SidebarItem id=\"sidebar-text\" icon={<TextIcon size={20} />} label=\"Body\" />\n <SidebarItem id=\"sidebar-text-block\" icon={<TextIcon size={20} />} label=\"Text Block\" />\n </Box>\n ),\n },\n {\n id: 'images',\n icon: <ImageIcon size={18} />,\n label: 'Images',\n content: (\n <Box sx={{ mt: 2 }}>\n <Box sx={{ mt: 2 }}>\n <DropzoneBox {...getRootProps()}>\n <input {...getInputProps()} />\n {isDragActive ? (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drop the images here...\n </Typography>\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Drag and drop images here, or click to select\n </Typography>\n )}\n {uploading && (\n <Box sx={{ mt: 1 }}>\n <CircularProgress size={20} />\n </Box>\n )}\n </DropzoneBox>\n {error && (\n <Alert severity=\"error\" sx={{ mt: 2 }}>\n {error}\n </Alert>\n )}\n {uploadedImages.length > 0 && (\n <Box sx={{ mt: 2 }}>\n <Typography variant=\"body2\" sx={{ mb: 1, color: 'grey.500' }}>\n Uploaded Images\n </Typography>\n <Grid container spacing={1}>\n {uploadedImages.map((image) => (\n <Grid item xs={6} key={image.id}>\n <SidebarItem\n id={image.id}\n label={image.name}\n imageUrl={image.url}\n />\n </Grid>\n ))}\n </Grid>\n </Box>\n )}\n </Box>\n </Box>\n ),\n },\n {\n id: 'buttons',\n icon: (\n <Box\n sx={{\n width: 16,\n height: 16,\n bgcolor: 'grey.400',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '8px',\n }}\n >\n BTN\n </Box>\n ),\n label: 'Buttons',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem\n id=\"sidebar-buttons\"\n icon={\n <Box\n sx={{\n width: 20,\n height: 20,\n bgcolor: 'success.main',\n borderRadius: 1,\n color: 'white',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n fontSize: '10px',\n }}\n >\n BTN\n </Box>\n }\n label=\"Buttons\"\n />\n </Box>\n ),\n },\n {\n id: 'divider',\n icon: <Divider sx={{ width: 18 }} />,\n label: 'Divider',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-divider\" icon={<Divider sx={{ width: 20 }} />} label=\"Divider\" />\n </Box>\n ),\n },\n {\n id: 'table',\n icon: <TableIcon size={18} />,\n label: 'Table',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-table\" icon={<TableIcon size={20} />} label=\"Table\" />\n </Box>\n ),\n },\n {\n id: 'signature',\n icon: <SignatureIcon size={18} />,\n label: 'Signature',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-signature\" icon={<SignatureIcon size={20} />} label=\"Signature\" />\n </Box>\n ),\n },\n {\n id: 'qr-code',\n icon: <QrCodeIcon size={18} />,\n label: 'QR Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-qr-code\" icon={<QrCodeIcon size={20} />} label=\"QR Code\" />\n </Box>\n ),\n },\n {\n id: 'bar-code',\n icon: <BarcodeIcon size={18} />,\n label: 'Bar Code',\n content: (\n <Box sx={{ mt: 2 }}>\n <SidebarItem id=\"sidebar-bar-code\" icon={<BarcodeIcon size={20} />} label=\"Bar Code\" />\n </Box>\n ),\n },\n ];\n\n const getDriveFiles = async () => {\n try {\n const token = getToken();\n const response = await getV1Drive({\n ...token,\n \"x-timezone\": String(token[\"x-timezone\"] || \"\"),\n skip: 0,\n limit: 10,\n filters: `(is_directory.eq=0)`\n });\n // Check if response is successful and has data\n if ('data' in response && response.data && typeof response.data === 'object' && 'drive' in response.data) {\n const files = (response.data as any).drive || [];\n setUploadedImages(files);\n }\n } catch (error) {\n console.log(error);\n }\n }\n\n useEffect(() => {\n getDriveFiles()\n }, [])\n\n return (\n <Box\n sx={{\n bgcolor: 'background.paper',\n borderRight: 1,\n borderColor: 'grey.200',\n width: 390,\n display: 'flex',\n flexDirection: 'column',\n height: 'calc(100vh - 104px)',\n boxShadow: '0 2px 8px rgba(0,0,0,0.05)',\n fontFamily: 'Inter, system-ui, Avenir, Helvetica, Arial, sans-serif',\n }}\n >\n <Box sx={{ p: 2, borderBottom: 1, borderColor: 'grey.200' }}>\n <SearchBar\n handleSearch={(key) => console.log('Search:', key)}\n sx={{ backgroundColor: \"#fff !important\", border: \"1px solid grey\" }}\n />\n </Box>\n <Box sx={{ flexGrow: 1, overflowY: 'auto', p: 1 }}>\n {sections.map((section) => (\n <Accordion\n key={section.id}\n expanded={expanded === section.id}\n onChange={handleChange(section.id)}\n sx={{\n border: 'none',\n boxShadow: 'none',\n backgroundColor: 'transparent',\n '&:before': { display: 'none' },\n marginBottom: 1,\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon sx={{ color: 'grey.600' }} />}\n sx={{\n borderRadius: '8px',\n padding: '0 12px',\n backgroundColor: expanded === section.id ? 'grey.200' : 'grey.50',\n '&:hover': {\n backgroundColor: 'grey.50',\n },\n transition: 'background-color 0.2s ease',\n minHeight: 42,\n '& .MuiAccordionSummary-content': {\n alignItems: 'center',\n margin: '8px 0',\n },\n '&.Mui-expanded': {\n minHeight: 42,\n },\n }}\n >\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 1 }}>\n {section.icon}\n <Typography\n variant=\"body2\"\n sx={{ fontWeight: 500, color: 'text.primary' }}\n >\n {section.label}\n </Typography>\n </Box>\n </AccordionSummary>\n <AccordionDetails sx={{ padding: '8px 16px' }}>\n {section.content}\n </AccordionDetails>\n </Accordion>\n ))}\n </Box>\n </Box>\n );\n};\n\nexport { EditorSidebar };\nexport default EditorSidebar;"],"names":["StyledListItem","styled","ListItem","theme","padding","spacing","cursor","borderRadius","shape","backgroundColor","palette","grey","opacity","DropzoneBox","Box","border","textAlign","SidebarItem","id","icon","label","imageUrl","elementType","replace","attributes","listeners","setNodeRef","isDragging","useDraggable","data","type","jsx","ref","className","sx","borderColor","p","children","src","alt","style","width","height","objectFit","marginRight","jsxs","Fragment","ListItemIcon","minWidth","ListItemText","primary","primaryTypographyProps","variant","EditorSidebar","expanded","setExpanded","useState","uploadedImages","setUploadedImages","uploading","setUploading","error","setError","onDrop","useCallback","async","acceptedFiles","file","uFiles","uploadFiles","token","getToken","payload","String","title","name","split","path","is_private","is_directory","file_size","size","is_child","file_extension","mime_type","url","getApiConfig","s3BucketUrl","postV1Drive","prev","Date","now","Math","random","err","getRootProps","getInputProps","isDragActive","useDropzone","accept","multiple","sections","TextIcon","content","display","gridTemplateColumns","gap","Heading","ImageIcon","mt","Typography","color","CircularProgress","Alert","severity","length","mb","Grid","container","map","image","item","xs","bgcolor","alignItems","justifyContent","fontSize","Divider","TableIcon","SignatureIcon","QrCodeIcon","BarcodeIcon","useEffect","response","getV1Drive","skip","limit","filters","files","drive","getDriveFiles","borderRight","flexDirection","boxShadow","fontFamily","borderBottom","SearchBar","handleSearch","key","flexGrow","overflowY","section","Accordion","onChange","panel","event","isExpanded","marginBottom","AccordionSummary","expandIcon","ExpandMoreIcon","transition","minHeight","margin","fontWeight","AccordionDetails"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@erpsquad/common",
3
- "version": "1.8.100",
3
+ "version": "1.8.101",
4
4
  "description": "Shared UI component library for ERP modules",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.esm.js",