Sindbad~EG File Manager
{"version":3,"file":"static/js/540.b6767f6e.chunk.js","mappings":"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","sources":["features/product/productActions.js","pages/Products/EditProduct.js"],"sourcesContent":["import axios from \"axios\";\r\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\r\nimport { baseURL } from \"src/constants/baseURL\";\r\n\r\nconst token = localStorage.getItem(\"userToken\");\r\n\r\nexport const createProduct = createAsyncThunk(\r\n \"products/create\",\r\n async (data, { rejectWithValue }) => {\r\n try {\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n\r\n axios.post(`${baseURL}/product`, data, config).then((res) => {\r\n console.log(\"Product Action\", res?.data);\r\n });\r\n } catch (error) {\r\n if (error.response && error.response.data.message) {\r\n return rejectWithValue(error.response.data.message);\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport const getProductsForBrand = createAsyncThunk(\r\n \"products/get\",\r\n async ({ id }, { rejectWithValue }) => {\r\n console.log(\"[getProductsForBrand]\", id);\r\n try {\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n\r\n const { data } = await axios.get(`${baseURL}/product/${id}`, config);\r\n if (data) {\r\n console.log(\"[getProductsForBrand]\", data);\r\n return data;\r\n }\r\n } catch (error) {\r\n if (error.response && error.response.data.message) {\r\n return rejectWithValue(error.response.data.message);\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport const getAllProducts = createAsyncThunk(\r\n \"products/getAll\",\r\n async ({}, { rejectWithValue }) => {\r\n // console.log(\"Product Action\", data, new Date());\r\n try {\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n\r\n const { data } = await axios.get(`${baseURL}/products`, config);\r\n if (data) {\r\n // console.log(\"[getAllProducts admin]\", data.products);\r\n return data.products;\r\n }\r\n } catch (error) {\r\n if (error.response && error.response.data.message) {\r\n return rejectWithValue(error.response.data.message);\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport const editProduct = createAsyncThunk(\r\n \"product/edit\",\r\n async ({ id, values }, { rejectWithValue }) => {\r\n try {\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n console.log(\"Action\", id, values);\r\n const res = await axios.put(`${baseURL}/product/${id}`, values, config);\r\n\r\n if (res?.data) {\r\n console.log(\"Product edit payload\", res?.data);\r\n }\r\n return res?.data;\r\n } catch (error) {\r\n if (error.response) {\r\n return rejectWithValue(error?.response?.data?.error?.message);\r\n } else {\r\n return rejectWithValue(error.message);\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport const deleteProduct = createAsyncThunk(\r\n \"product/delete\",\r\n async (id, { rejectWithValue }) => {\r\n try {\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n const { data } = await axios.delete(`${baseURL}/product/${id}`, config);\r\n\r\n if (data) {\r\n // console.log(\"Product delete payload\", data);\r\n return data;\r\n }\r\n } catch (error) {\r\n if (error.response) {\r\n return rejectWithValue(error?.response?.data?.error?.message);\r\n } else {\r\n return rejectWithValue(error.message);\r\n }\r\n }\r\n }\r\n);\r\n\r\nexport const sortProducts = createAsyncThunk(\r\n \"product/sort\",\r\n async ({ sortBy, sort }, { rejectWithValue }) => {\r\n try {\r\n let url = baseURL + \"/product/filter\";\r\n\r\n if (sortBy) {\r\n url = baseURL + `/product/filter?sortBy=${sortBy}&sort=${sort}`;\r\n }\r\n const config = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: \"application/json\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n };\r\n const { data } = await axios.get(`${url}`, config);\r\n\r\n if (data) {\r\n console.log(\"Product sort payload\", data);\r\n return data;\r\n }\r\n } catch (error) {\r\n if (error.response) {\r\n return rejectWithValue(error?.response?.data?.error?.message);\r\n } else {\r\n return rejectWithValue(error.message);\r\n }\r\n }\r\n }\r\n);\r\n","import { useRef, useState, useEffect } from \"react\";\r\nimport {\r\n ButtonGroup,\r\n Button,\r\n Container,\r\n Stack,\r\n Grid,\r\n InputLabel,\r\n MenuItem,\r\n Select,\r\n Typography,\r\n FormControl,\r\n TextField,\r\n Card,\r\n CardContent,\r\n IconButton,\r\n Checkbox,\r\n FormControlLabel,\r\n} from \"@mui/material\";\r\nimport { Form, Field } from \"react-final-form\";\r\nimport { toast } from \"react-toastify\";\r\nimport TextInput from \"../../components/TextInput/TextInput\";\r\nimport Iconify from \"../../components/iconify\";\r\nimport { useNavigate, useLocation } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport {\r\n createProduct,\r\n editProduct,\r\n} from \"src/features/product/productActions\";\r\n\r\nimport { baseURL } from \"src/constants/baseURL\";\r\nimport axios from \"axios\";\r\n\r\nwindow.Buffer = window.Buffer || require(\"buffer\").Buffer;\r\n\r\n// const ReactS3Client = new S3(S3_BUCKET_CONFIG);\r\n\r\nconst sizeTypes = {\r\n upper: [\"XS\", \"S\", \"M\", \"L\", \"XL\"],\r\n lower: [\r\n \"28\",\r\n \"29\",\r\n \"30\",\r\n \"31\",\r\n \"32\",\r\n \"33\",\r\n \"34\",\r\n \"35\",\r\n \"36\",\r\n \"37\",\r\n \"38\",\r\n \"39\",\r\n \"40\",\r\n ],\r\n feet: [\r\n \"35\",\r\n \"36\",\r\n \"37\",\r\n \"38\",\r\n \"39\",\r\n \"40\",\r\n \"41\",\r\n \"42\",\r\n \"43\",\r\n \"44\",\r\n \"45\",\r\n \"46\",\r\n \"47\",\r\n ],\r\n};\r\n\r\nconst EditProduct = () => {\r\n const navigate = useNavigate();\r\n const dispatch = useDispatch();\r\n const { state } = useLocation();\r\n\r\n const productId = state?.product?._id;\r\n\r\n console.log(\"State\", state);\r\n console.log(\"productId\", productId);\r\n\r\n const [brandData, setBrandData] = useState([]);\r\n const [categoryData, setCategoryData] = useState([]);\r\n const [sizeChartImage, setSizeChartImage] = useState();\r\n\r\n const { brandInfo, userInfo } = useSelector((state) => state.auth);\r\n\r\n const role = userInfo?.user_role;\r\n\r\n const brandId = brandInfo?.brand_id;\r\n\r\n const fileInput = useRef();\r\n const fileSizeChartInput = useRef();\r\n const [selectedImages, setSelectedImages] = useState([]);\r\n\r\n const onSubmit = () => {\r\n console.log(\"Submit\");\r\n };\r\n\r\n const handleRemove = (item) => {\r\n const filter = selectedImages.filter((i) => i !== item);\r\n setSelectedImages(filter);\r\n };\r\n\r\n return (\r\n <Container>\r\n <Stack\r\n direction=\"row\"\r\n alignItems=\"center\"\r\n justifyContent=\"space-between\"\r\n mb={5}\r\n >\r\n <Typography variant=\"h4\" sx={{ mb: 5 }}>\r\n Edit Product\r\n </Typography>\r\n\r\n <Button\r\n variant=\"contained\"\r\n onClick={() =>\r\n navigate(`/dashboard/${role}/products`, {\r\n replace: true,\r\n })\r\n }\r\n >\r\n Back To Product\r\n </Button>\r\n </Stack>\r\n\r\n <Form\r\n onSubmit={onSubmit}\r\n initialValues={{\r\n name: state?.product?.name,\r\n category: state?.product?.category?._id,\r\n brand: state?.product?.brand?._id,\r\n productCode: state?.product?.productCode,\r\n color: state?.product?.color,\r\n size: state?.product?.size,\r\n price: state?.product?.price,\r\n quantity: state?.product?.quantity,\r\n discount: state?.product?.discount,\r\n description: state?.product?.description,\r\n imgUrl: state?.product?.imgUrl,\r\n }}\r\n validate={(values) => {\r\n console.log(\"[validate]\", values.size);\r\n const errors = {};\r\n if (!values.name) {\r\n errors.name = \"Name is required!\";\r\n }\r\n if (!values.category) {\r\n errors.category = \"Category is required!\";\r\n }\r\n if (!values.brand && userInfo?.user_role !== \"brand\") {\r\n errors.brand = \"Brand name is required!\";\r\n }\r\n if (values.price === 0) {\r\n errors.price = \"Price is required!\";\r\n }\r\n if (!values.description) {\r\n errors.description = \"Description is required!\";\r\n }\r\n if (!values.quantity) {\r\n errors.quantity = \"Quantity is required!\";\r\n }\r\n if (!values.productCode) {\r\n errors.productCode = \"ProductCode is required!\";\r\n }\r\n if (!values.color) {\r\n errors.color = \"Color is required!\";\r\n }\r\n console.log(\"ere\", errors);\r\n\r\n return errors;\r\n }}\r\n mutators={{\r\n onChangeQuantity: (args, state, utils) => {\r\n const calculateQty = (prev) => {\r\n if (prev > 1 || (prev === 1 && args == 1)) {\r\n const qty = Number(prev ?? 1) + Number(args);\r\n\r\n return qty;\r\n }\r\n\r\n return 1;\r\n };\r\n utils.changeValue(state, \"quantity\", (prev) =>\r\n calculateQty(prev)\r\n );\r\n },\r\n onChangeCheckBox: (args, state, utils) => {\r\n const sizeHandler = (values) =>\r\n values.indexOf(args[0]) !== -1\r\n ? values.filter((value) => value !== args[0])\r\n : [...values, args[0]];\r\n utils.changeValue(state, \"size\", (prev) =>\r\n sizeHandler(prev)\r\n );\r\n },\r\n }}\r\n render={({ handleSubmit, errors, form }) => (\r\n <form onSubmit={handleSubmit}>\r\n <Grid container spacing={4}>\r\n <Grid item xs={6}>\r\n <Field fullWidth name=\"name\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Product Name\"}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n {/* <Grid item xs={6}>\r\n <Field fullWidth name=\"category\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Product Category\"}\r\n type={\"text\"}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid> */}\r\n\r\n <Grid item xs={6}>\r\n <Field\r\n fullWidth\r\n component=\"select\"\r\n name=\"category\"\r\n >\r\n {({ input, meta, options }) => (\r\n <FormControl fullWidth>\r\n <InputLabel id=\"brand-label\">\r\n Product Category\r\n </InputLabel>\r\n <Select\r\n labelId=\"brand-label\"\r\n name=\"category\"\r\n options={categoryData}\r\n MenuProps={{\r\n style: {\r\n maxHeight: 300,\r\n },\r\n }}\r\n {...input}\r\n >\r\n {categoryData?.map(\r\n (x, index) => {\r\n return (\r\n <MenuItem\r\n key={index}\r\n value={x._id}\r\n >\r\n {x.categoryName}\r\n </MenuItem>\r\n );\r\n }\r\n )}\r\n </Select>\r\n </FormControl>\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n {userInfo?.user_role !== \"brand\" && (\r\n <Grid item xs={4} mt={3}>\r\n <Field fullWidth name=\"brand\">\r\n {({ input, meta, options }) => (\r\n <FormControl fullWidth>\r\n <InputLabel id=\"brand-label\">\r\n Brand Name\r\n </InputLabel>\r\n <Select\r\n labelId=\"brand-label\"\r\n name=\"brand\"\r\n options={brandData}\r\n onChange={(val) =>\r\n input.onChange(val)\r\n }\r\n MenuProps={{\r\n style: {\r\n maxHeight: 300,\r\n },\r\n }}\r\n {...input}\r\n >\r\n {brandData?.brands?.map(\r\n (x, index) => {\r\n return (\r\n <MenuItem\r\n key={index}\r\n value={\r\n x._id\r\n }\r\n >\r\n {\r\n x.brandName\r\n }\r\n </MenuItem>\r\n );\r\n }\r\n )}\r\n </Select>\r\n </FormControl>\r\n )}\r\n </Field>\r\n </Grid>\r\n )}\r\n\r\n <Grid item xs={4} mt={3}>\r\n <Field fullWidth name=\"productCode\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Product Code\"}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid item xs={4} mt={3}>\r\n <Field fullWidth name=\"color\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Product Color\"}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid\r\n item\r\n xs={userInfo?.user_role !== \"brand\" ? 4 : 6}\r\n mt={3}\r\n >\r\n <Field fullWidth name=\"price\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Price\"}\r\n type={\"number\"}\r\n style={{ paddingRight: 0 }}\r\n InputProps={{\r\n inputProps: {\r\n min: 0,\r\n },\r\n }}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid\r\n item\r\n xs={userInfo?.user_role !== \"brand\" ? 4 : 6}\r\n mt={3}\r\n >\r\n <Field fullWidth name=\"quantity\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Available Quantity\"}\r\n type={\"number\"}\r\n style={{ paddingRight: 0 }}\r\n InputProps={{\r\n inputProps: {\r\n max: 100,\r\n min: 0,\r\n },\r\n endAdornment: (\r\n <ButtonGroup\r\n size=\"small\"\r\n aria-label=\"small button group\"\r\n orientation=\"vertical\"\r\n >\r\n <Button\r\n color=\"primary\"\r\n variant=\"text\"\r\n onClick={() =>\r\n form.mutators.onChangeQuantity(\r\n 1\r\n )\r\n }\r\n >\r\n <Iconify icon=\"eva:plus-fill\" />\r\n </Button>\r\n <Button\r\n color=\"error\"\r\n variant=\"text\"\r\n onClick={() =>\r\n form.mutators.onChangeQuantity(\r\n -1\r\n )\r\n }\r\n >\r\n <Iconify icon=\"eva:minus-fill\" />\r\n </Button>\r\n </ButtonGroup>\r\n ),\r\n }}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n <Grid\r\n item\r\n xs={userInfo?.user_role !== \"brand\" ? 4 : 6}\r\n mt={3}\r\n >\r\n <Field fullWidth name=\"discount\">\r\n {(props) => (\r\n <TextInput\r\n label={\"Discount\"}\r\n type={\"number\"}\r\n style={{ paddingRight: 0 }}\r\n InputProps={{\r\n inputProps: {\r\n min: 0,\r\n },\r\n }}\r\n {...props}\r\n />\r\n )}\r\n </Field>\r\n </Grid>\r\n\r\n {categoryData.find(\r\n (item) =>\r\n item._id ===\r\n form.getState().values[\"category\"]\r\n ) && (\r\n <Grid\r\n item\r\n xs={\r\n userInfo?.user_role !== \"brand\" ? 12 : 6\r\n }\r\n >\r\n <Field\r\n fullWidth\r\n name=\"size\"\r\n type=\"checkbox\"\r\n >\r\n {(props) => (\r\n <FormControl fullWidth>\r\n Available Size:\r\n <div\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n justifyContent:\r\n \"space-evenly\",\r\n padding: 10,\r\n }}\r\n >\r\n {categoryData.find(\r\n (item) =>\r\n item._id ===\r\n form.getState()\r\n .values[\r\n \"category\"\r\n ]\r\n ) !== \"\" &&\r\n sizeTypes[\r\n categoryData.find(\r\n (item) =>\r\n item._id ===\r\n form.getState()\r\n .values[\r\n \"category\"\r\n ]\r\n )?.sizeType\r\n ]?.map(\r\n (size, index) => (\r\n <FormControlLabel\r\n control={\r\n <Checkbox\r\n name={\r\n size\r\n }\r\n onChange={(\r\n event\r\n ) => {\r\n form.mutators.onChangeCheckBox(\r\n size\r\n );\r\n }}\r\n // value={}\r\n checked={form\r\n .getState()\r\n .values[\r\n \"size\"\r\n ].includes(\r\n size\r\n )}\r\n {...props}\r\n />\r\n }\r\n label={size}\r\n key={index}\r\n />\r\n )\r\n )}\r\n </div>\r\n </FormControl>\r\n )}\r\n </Field>\r\n </Grid>\r\n )}\r\n\r\n <Grid item xs={12}>\r\n <Field\r\n name=\"description\"\r\n render={({ input }) => (\r\n <TextField\r\n fullWidth\r\n {...input}\r\n label=\"Product Description\"\r\n multiline\r\n rows={6}\r\n />\r\n )}\r\n />\r\n </Grid>\r\n\r\n <Typography\r\n variant=\"h4\"\r\n sx={{ marginTop: 5, marginLeft: 5 }}\r\n >\r\n Upload Images:\r\n </Typography>\r\n <Grid\r\n item\r\n xs={12}\r\n style={{\r\n flexDirection: \"row\",\r\n display: \"flex\",\r\n }}\r\n >\r\n {selectedImages?.length > 0 &&\r\n selectedImages?.map((item) => (\r\n <>\r\n <Card\r\n sx={{\r\n width: 150,\r\n height: 150,\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n display: \"grid\",\r\n marginRight: 5,\r\n }}\r\n >\r\n <Iconify\r\n icon=\"mdi:close-circle-outline\"\r\n sx={{\r\n width: 25,\r\n height: 25,\r\n position: \"absolute\",\r\n right: 5,\r\n top: 5,\r\n zIndex: 9999,\r\n }}\r\n onClick={() =>\r\n handleRemove(item)\r\n }\r\n />\r\n <CardContent>\r\n <img\r\n src={URL.createObjectURL(\r\n item\r\n )}\r\n alt=\"\"\r\n />\r\n </CardContent>\r\n </Card>\r\n </>\r\n ))}\r\n <Card\r\n sx={{\r\n width: 150,\r\n height: 150,\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n }}\r\n >\r\n <CardContent\r\n style={{ justifyContent: \"center\" }}\r\n >\r\n <input\r\n ref={fileInput}\r\n style={{ display: \"none\" }}\r\n type=\"file\"\r\n accept=\"image/*\"\r\n onChange={(e) =>\r\n setSelectedImages((prev) => [\r\n ...prev,\r\n e.target.files[0],\r\n ])\r\n }\r\n multiple={true}\r\n />\r\n <IconButton\r\n onClick={() =>\r\n fileInput.current.click()\r\n }\r\n >\r\n <Iconify\r\n icon=\"mdi:file-image-plus-outline\"\r\n sx={{ width: 80, height: 80 }}\r\n />\r\n </IconButton>\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n\r\n <Typography\r\n variant=\"h4\"\r\n sx={{ marginTop: 5, marginLeft: 5 }}\r\n >\r\n Upload Size Chart{\" \"}\r\n <span style={{ color: \"#b2b2b2\" }}>\r\n (optional)\r\n </span>\r\n :\r\n </Typography>\r\n <Grid\r\n item\r\n xs={12}\r\n style={{\r\n flexDirection: \"row\",\r\n display: \"flex\",\r\n }}\r\n >\r\n {sizeChartImage && (\r\n <Card\r\n sx={{\r\n width: 150,\r\n height: 150,\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n display: \"grid\",\r\n marginRight: 5,\r\n }}\r\n >\r\n <Iconify\r\n icon=\"mdi:close-circle-outline\"\r\n sx={{\r\n width: 25,\r\n height: 25,\r\n position: \"absolute\",\r\n right: 5,\r\n top: 5,\r\n zIndex: 9999,\r\n }}\r\n onClick={() =>\r\n setSizeChartImage(\"\")\r\n }\r\n />\r\n <CardContent>\r\n <img\r\n src={URL.createObjectURL(\r\n sizeChartImage\r\n )}\r\n />\r\n </CardContent>\r\n </Card>\r\n )}\r\n <Card\r\n sx={{\r\n width: 150,\r\n height: 150,\r\n justifyContent: \"center\",\r\n alignContent: \"center\",\r\n }}\r\n >\r\n <CardContent\r\n style={{ justifyContent: \"center\" }}\r\n >\r\n <input\r\n ref={fileSizeChartInput}\r\n style={{ display: \"none\" }}\r\n type=\"file\"\r\n accept=\"image/*\"\r\n onChange={(e) =>\r\n setSizeChartImage(\r\n () => e.target.files[0]\r\n )\r\n }\r\n />\r\n <IconButton\r\n onClick={() =>\r\n fileSizeChartInput.current.click()\r\n }\r\n >\r\n <Iconify\r\n icon=\"mdi:file-image-plus-outline\"\r\n sx={{ width: 80, height: 80 }}\r\n />\r\n </IconButton>\r\n </CardContent>\r\n </Card>\r\n </Grid>\r\n </Grid>\r\n <Grid\r\n container\r\n direction=\"row\"\r\n justifyContent=\"center\"\r\n alignItems=\"center\"\r\n m={4}\r\n >\r\n <Button\r\n variant=\"contained\"\r\n size=\"large\"\r\n type=\"submit\"\r\n >\r\n Save\r\n </Button>\r\n </Grid>\r\n </form>\r\n )}\r\n />\r\n </Container>\r\n );\r\n};\r\n\r\nexport default EditProduct;\r\n"],"names":["token","localStorage","getItem","createAsyncThunk","data","rejectWithValue","config","headers","Accept","Authorization","axios","baseURL","then","res","console","log","response","message","id","products","values","error","sortBy","sort","url","window","Buffer","require","sizeTypes","upper","lower","feet","navigate","useNavigate","state","useDispatch","useLocation","productId","product","_id","useState","brandData","categoryData","sizeChartImage","setSizeChartImage","useSelector","auth","brandInfo","userInfo","role","user_role","fileInput","brand_id","useRef","fileSizeChartInput","selectedImages","setSelectedImages","direction","alignItems","justifyContent","mb","variant","sx","onClick","replace","onSubmit","initialValues","name","category","brand","productCode","color","size","price","quantity","discount","description","imgUrl","validate","errors","mutators","onChangeQuantity","args","utils","changeValue","prev","Number","calculateQty","onChangeCheckBox","indexOf","filter","value","render","handleSubmit","form","container","spacing","item","xs","fullWidth","props","label","component","input","meta","options","labelId","MenuProps","style","maxHeight","map","x","index","categoryName","mt","onChange","val","brands","brandName","type","paddingRight","InputProps","inputProps","min","max","endAdornment","orientation","icon","find","getState","display","flexDirection","padding","sizeType","control","event","checked","includes","multiline","rows","marginTop","marginLeft","length","width","height","alignContent","marginRight","position","right","top","zIndex","i","handleRemove","src","URL","createObjectURL","alt","ref","accept","e","target","files","multiple","current","click","m"],"sourceRoot":""}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists