Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
2023-029
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2023-029
2023-029
Commits
7c2333cd
Commit
7c2333cd
authored
Aug 29, 2023
by
Sumudu-Himasha-Ranaweera
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: update
parent
35bc743f
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
857 additions
and
46 deletions
+857
-46
Project/Backend/Server_Python/controllers/video_translate_server.py
...ckend/Server_Python/controllers/video_translate_server.py
+92
-0
Project/Backend/Server_Python/services/audio.wav
Project/Backend/Server_Python/services/audio.wav
+0
-0
Project/Backend/Server_Python/services/video_translate.py
Project/Backend/Server_Python/services/video_translate.py
+105
-0
Project/Frontend/SignConnectPlus/package.json
Project/Frontend/SignConnectPlus/package.json
+7
-2
Project/Frontend/SignConnectPlus/src/pages/services/SignLanguageToText.js
.../SignConnectPlus/src/pages/services/SignLanguageToText.js
+12
-0
Project/Frontend/SignConnectPlus/src/pages/services/VideoToSignLanguage.js
...SignConnectPlus/src/pages/services/VideoToSignLanguage.js
+12
-0
Project/Frontend/SignConnectPlus/src/pages/video-to-sign-language/VideoTranslate/VideoTranslate.tsx
.../video-to-sign-language/VideoTranslate/VideoTranslate.tsx
+210
-41
Project/Frontend/SignConnectPlus/src/pages/video-to-sign-language/VideoTranslate/Video_trasnlator.tsx
...ideo-to-sign-language/VideoTranslate/Video_trasnlator.tsx
+183
-0
Project/Frontend/SignConnectPlus/yarn.lock
Project/Frontend/SignConnectPlus/yarn.lock
+236
-3
No files found.
Project/Backend/Server_Python/controllers/video_translate_server.py
0 → 100644
View file @
7c2333cd
from
fastapi
import
FastAPI
,
HTTPException
from
pymongo.mongo_client
import
MongoClient
from
pydantic
import
BaseModel
from
typing
import
List
from
bson
import
ObjectId
app
=
FastAPI
()
# Replace with your MongoDB Atlas credentials
username
=
"admin"
password
=
"JppbU6MZeHfOj7sp"
uri
=
f
"mongodb+srv://{username}:{password}@researchmanagement-appl.vzhn4.mongodb.net/?retryWrites=true&w=majority"
client
=
MongoClient
(
uri
)
db
=
client
[
"test"
]
items_collection
=
db
[
"translated_items"
]
class
ItemCreate
(
BaseModel
):
item_name
:
str
item_description
:
str
class
Item
(
BaseModel
):
item_name
:
str
item_description
:
str
_id
:
str
class
TranslatedItemCreate
(
BaseModel
):
translated_integer_si
:
str
@
app
.
on_event
(
"startup"
)
async
def
startup_db_client
():
app
.
mongodb_client
=
MongoClient
(
uri
)
try
:
app
.
mongodb_client
.
admin
.
command
(
"ping"
)
print
(
"Pinged your deployment. You successfully connected to MongoDB!"
)
except
Exception
as
e
:
print
(
e
)
@
app
.
on_event
(
"shutdown"
)
async
def
shutdown_db_client
():
app
.
mongodb_client
.
close
()
@
app
.
get
(
"/"
)
async
def
read_root
():
return
{
"message"
:
"FastAPI with MongoDB integration"
}
# send tranlated integer to mongodb
@
app
.
post
(
"/translated_items/"
,
response_model
=
TranslatedItemCreate
)
async
def
create_translated_item
(
translated_item_create
:
TranslatedItemCreate
):
translated_item_data
=
{
"translated_integer_si"
:
translated_item_create
.
translated_integer_si
,
}
result
=
items_collection
.
insert_one
(
translated_item_data
)
if
result
.
inserted_id
:
# return translated_item_data
return
{
**
translated_item_data
,
"_id"
:
str
(
result
.
inserted_id
)}
else
:
raise
HTTPException
(
status_code
=
500
,
detail
=
"Failed to create translated item"
)
@
app
.
put
(
"/items/{item_id}"
,
response_model
=
Item
)
async
def
update_item
(
item_id
:
str
,
item_update
:
ItemCreate
):
item_object_id
=
ObjectId
(
item_id
)
# Convert item_id to ObjectId
update_data
=
{
"item_name"
:
item_update
.
item_name
,
"item_description"
:
item_update
.
item_description
,
}
result
=
items_collection
.
update_one
({
"_id"
:
item_object_id
},
{
"$set"
:
update_data
})
if
result
.
modified_count
>
0
:
updated_item
=
items_collection
.
find_one
({
"_id"
:
item_object_id
})
return
{
**
updated_item
,
"_id"
:
str
(
updated_item
[
"_id"
])}
else
:
raise
HTTPException
(
status_code
=
404
,
detail
=
"Item not found"
)
@
app
.
get
(
"/items/"
,
response_model
=
List
[
Item
])
async
def
get_all_items
():
items
=
list
(
items_collection
.
find
())
items_with_string_id
=
[{
**
item
,
"_id"
:
str
(
item
[
"_id"
])}
for
item
in
items
]
print
(
items_with_string_id
)
return
items_with_string_id
if
__name__
==
"__main__"
:
import
uvicorn
uvicorn
.
run
(
app
,
host
=
"127.0.0.1"
,
port
=
8000
)
Project/Backend/Server_Python/services/audio.wav
0 → 100644
View file @
7c2333cd
File added
Project/Backend/Server_Python/services/video_translate.py
0 → 100644
View file @
7c2333cd
import
moviepy.editor
as
mp
import
speech_recognition
as
sr
import
tkinter
as
tk
from
tkinter
import
filedialog
from
tkinter
import
messagebox
from
tkinter
import
scrolledtext
import
requests
from
bson
import
ObjectId
import
urllib.parse
import
subprocess
# Define a dictionary to map Sinhala Unicode to integers
unicode_to_int_mapping
=
{
"මම"
:
1
,
"හෙට"
:
2
,
"යනවා"
:
3
,
"මං"
:
4
}
def
translate_text
(
text
,
target_language
):
url
=
"https://translate.googleapis.com/translate_a/single"
params
=
{
"client"
:
"gtx"
,
"sl"
:
"auto"
,
"tl"
:
target_language
,
"dt"
:
"t"
,
"q"
:
text
}
response
=
requests
.
get
(
url
,
params
=
params
)
translation_data
=
response
.
json
()
translated_text
=
translation_data
[
0
][
0
][
0
]
return
translated_text
# send to service.py
def
send_to_service
(
translated_integer_si
):
url
=
"http://127.0.0.1:8000/translated_items/"
data
=
{
"translated_integer_si"
:
translated_integer_si
,
}
response
=
requests
.
post
(
url
,
json
=
data
)
if
response
.
status_code
==
200
:
print
(
"Data sent to server successfully"
)
else
:
print
(
"Failed to send data to server"
)
def
convert_video
():
video_path
=
filedialog
.
askopenfilename
(
filetypes
=
[(
"Video Files"
,
"*.mp4"
)])
if
not
video_path
:
messagebox
.
showwarning
(
"Warning"
,
"No video file selected."
)
return
try
:
audio_save_path
=
"audio.wav"
video
=
mp
.
VideoFileClip
(
video_path
)
audio
=
video
.
audio
audio
.
write_audiofile
(
audio_save_path
)
r
=
sr
.
Recognizer
()
with
sr
.
AudioFile
(
audio_save_path
)
as
source
:
audio
=
r
.
record
(
source
)
recognized_text
=
r
.
recognize_google
(
audio
,
language
=
'si-LK'
)
translated_text_si
=
translate_text
(
recognized_text
,
"si"
)
translated_text_en
=
translate_text
(
recognized_text
,
"en"
)
# Get the integer values and join them into a single string
translated_integer_si
=
' '
.
join
(
str
(
unicode_to_int_mapping
.
get
(
word
,
0
))
for
word
in
translated_text_si
.
split
())
print
(
"Translated Integer (Si):"
,
translated_integer_si
)
# Print the translated integer
send_to_service
(
translated_integer_si
)
# Sending translated_integer_si
textarea_si
.
delete
(
'1.0'
,
tk
.
END
)
textarea_en
.
delete
(
'1.0'
,
tk
.
END
)
textarea_si
.
insert
(
tk
.
END
,
f
"Translated Integer: {translated_integer_si}
\n
{translated_text_si}"
)
textarea_en
.
insert
(
tk
.
END
,
translated_text_en
)
except
Exception
as
e
:
messagebox
.
showerror
(
"Error"
,
str
(
e
))
print
(
"Error during video conversion:"
,
e
)
if
__name__
==
"__main__"
:
# subprocess.Popen(["uvicorn", "main:app", "--host", "127.0.0.1", "--port", "8050"])
window
=
tk
.
Tk
()
window
.
title
(
"Video Translation"
)
window
.
geometry
(
"800x600"
)
title_label
=
tk
.
Label
(
window
,
text
=
"Video Translation"
,
font
=
(
"Arial"
,
16
,
"bold"
))
title_label
.
pack
(
pady
=
10
)
convert_button
=
tk
.
Button
(
window
,
text
=
"Convert Video"
,
command
=
convert_video
)
convert_button
.
pack
(
pady
=
10
)
textarea_si_label
=
tk
.
Label
(
window
,
text
=
"Sinhala Unicode Translation"
)
textarea_si_label
.
pack
()
textarea_si
=
scrolledtext
.
ScrolledText
(
window
,
wrap
=
tk
.
WORD
,
width
=
80
,
height
=
10
)
textarea_si
.
pack
()
textarea_en_label
=
tk
.
Label
(
window
,
text
=
"Singlish Translation"
)
textarea_en_label
.
pack
()
textarea_en
=
scrolledtext
.
ScrolledText
(
window
,
wrap
=
tk
.
WORD
,
width
=
80
,
height
=
10
)
textarea_en
.
pack
()
window
.
mainloop
()
Project/Frontend/SignConnectPlus/package.json
View file @
7c2333cd
...
...
@@ -54,6 +54,7 @@
"jwt-decode"
:
"^3.1.2"
,
"lodash"
:
"^4.17.21"
,
"match-sorter"
:
"^6.3.1"
,
"mui-file-input"
:
"^3.0.0"
,
"notistack"
:
"^3.0.1"
,
"process"
:
"^0.11.10"
,
"react"
:
"^18.2.0"
,
...
...
@@ -105,7 +106,11 @@
"util"
:
"^0.12.5"
,
"uuid"
:
"^9.0.0"
,
"web-vitals"
:
"^3.3.1"
,
"yup"
:
"^1.1.1"
"yup"
:
"^1.1.1"
,
"@material-ui/core"
:
"^4.12.4"
,
"@mui/icons-material"
:
"^5.14.6"
,
"react-material-file-upload"
:
"^0.0.4"
,
"react-webcam"
:
"^7.1.1"
},
"scripts"
:
{
"start"
:
"react-app-rewired start"
,
...
...
@@ -177,4 +182,4 @@
"react-error-overlay"
:
"6.0.11"
,
"typescript"
:
"^5.0.4"
}
}
\ No newline at end of file
}
Project/Frontend/SignConnectPlus/src/pages/services/SignLanguageToText.js
0 → 100644
View file @
7c2333cd
import
axios
from
'
axios
'
;
class
SignLanguageToTextService
{
predictSignLanguageVideo
(
speed
,
data
)
{
return
axios
.
post
(
`http://127.0.0.1:8000/predict-sign-language/video/speed_levels?speed=
${
speed
}
`
,
data
);
}
}
export
default
new
SignLanguageToTextService
();
Project/Frontend/SignConnectPlus/src/pages/services/VideoToSignLanguage.js
0 → 100644
View file @
7c2333cd
import
axios
from
'
axios
'
;
class
VideoToSignLanguage
{
videoTranslation
(
data
)
{
return
axios
.
post
(
`http://127.0.0.1:8000/predict-sign-language/video/speed_levels?speed=
${
speed
}
`
,
data
);
}
}
export
default
new
VideoToSignLanguage
();
Project/Frontend/SignConnectPlus/src/pages/video-to-sign-language/VideoTranslate/VideoTranslate.tsx
View file @
7c2333cd
// project import
import
MainCard
from
'
components/MainCard
'
;
import
ScrollX
from
'
components/ScrollX
'
;
import
axios
from
'
axios
'
;
// Import the axios library
import
{
Box
,
Button
,
ButtonGroup
,
Card
,
CardContent
,
CardHeader
,
Container
,
Grid
,
IconButton
,
InputAdornment
,
LinearProgress
,
Paper
,
// Slider,
// Stack,
TextField
,
Typography
}
from
'
@mui/material
'
;
import
{
useState
}
from
'
react
'
;
import
{
useSnackbar
}
from
'
notistack
'
;
import
{
MuiFileInput
}
from
'
mui-file-input
'
;
import
{
CloudUploadOutlined
,
HighlightOutlined
,
CopyOutlined
,
TranslationOutlined
}
from
'
@ant-design/icons
'
;
import
VideoToSignLanguageService
from
'
../../services/VideoToSignLanguage.js
'
;
// ==============================|| List ||============================== //
const
VideoTranslate
=
()
=>
{
const
handleConvertClick
=
async
()
=>
{
const
videoInput
=
document
.
getElementById
(
'
video-input
'
)
as
HTMLInputElement
|
null
;
if
(
!
videoInput
)
{
alert
(
'
Unable to find the video input element.
'
);
return
;
const
[
file
,
setFile
]
=
useState
<
File
|
string
|
null
>
(
null
);
const
[
videoUrl
,
setVideoUrl
]
=
useState
(
''
);
const
[
loading
,
setLoading
]
=
useState
(
false
);
const
[
value
,
setValue
]
=
useState
(
''
);
const
handleDropSingleFile
=
(
files
:
any
)
=>
{
if
(
files
)
{
setFile
(
Object
.
assign
(
files
,
{
preview
:
URL
.
createObjectURL
(
files
)
})
);
setVideoUrl
(
URL
.
createObjectURL
(
files
));
}
};
const
handleChange
=
(
event
:
React
.
ChangeEvent
<
HTMLTextAreaElement
>
)
=>
{
setValue
(
event
.
target
.
value
);
};
// ----------------- Video Upload ------------------------------------------------
if
(
!
videoInput
.
files
||
!
videoInput
.
files
[
0
])
{
alert
(
'
Please select a video file.
'
);
return
;
const
TranslateVideoToSignLanguage
=
async
()
=>
{
if
(
file
)
{
setLoading
(
true
);
const
formData
=
new
FormData
();
//@ts-ignore
formData
.
append
(
'
video_request
'
,
file
,
file
.
name
);
try
{
const
response
=
await
VideoToSignLanguageService
.
videoTranslation
(
formData
);
if
(
response
.
status
==
200
)
{
console
.
log
(
response
.
data
);
setValue
(
response
.
data
.
predictions
);
}
else
{
enqueueSnackbar
(
'
Something went Wrong!
'
,
{
variant
:
'
error
'
});
}
// setLoading(false);
}
catch
(
error
)
{
console
.
log
(
error
);
setLoading
(
false
);
enqueueSnackbar
(
'
Something went Wrong!
'
,
{
variant
:
'
error
'
});
}
}
else
{
enqueueSnackbar
(
'
Please select a file.
'
,
{
variant
:
'
warning
'
});
}
};
const
formData
=
new
FormData
();
formData
.
append
(
'
video
'
,
videoInput
.
files
[
0
]);
const
{
enqueueSnackbar
}
=
useSnackbar
();
try
{
await
axios
.
post
(
'
/Backend/Server_Python/services/video_to_sign_language
'
,
formData
);
alert
(
'
Video conversion successful.
'
);
}
catch
(
error
)
{
alert
(
'
Video conversion failed.
'
);
const
onCopy
=
(
text
:
string
)
=>
{
if
(
text
)
{
navigator
.
clipboard
.
writeText
(
text
);
enqueueSnackbar
(
'
Copied!
'
,
{
variant
:
'
success
'
});
}
};
};
return
(
<
MainCard
content=
{
false
}
>
<
ScrollX
>
<
h3
>
Video Translation here
</
h3
>
<
div
>
<
h4
>
Sinhala Unicode Translation
</
h4
>
<
textarea
// value={sinhalaTranslation}
// onChange={(e) => setSinhalaTranslation(e.target.value)}
/>
</
div
>
<
div
>
<
h4
>
Singlish Translation
</
h4
>
<
textarea
// value={singlishTranslation}
// onChange={(e) => setSinglishTranslation(e.target.value)}
/>
</
div
>
<
div
>
<
h4
>
Upload Video
</
h4
>
<
input
type=
"file"
accept=
".mp4"
id=
"video-input"
/>
</
div
>
<
div
>
<
button
onClick=
{
handleConvertClick
}
>
Convert Video
</
button
>
</
div
>
</
ScrollX
>
</
MainCard
>
{
/* Content Here */
}
<
Container
sx=
{
{
padding
:
2
}
}
>
{
/* Double Button Here */
}
<
ButtonGroup
disableElevation
variant=
"contained"
aria
-
label=
"Disabled elevation buttons"
sx=
{
{
marginBottom
:
'
10px
'
}
}
>
<
Button
// variant={checkTranalationTypeForUpload()}
startIcon=
{
<
CloudUploadOutlined
/>
}
// onClick={() => {
// setIsUploadFile(true);
// }}
>
Upload
</
Button
>
<
Button
// variant={checkTranalationTypeForRecord()}
startIcon=
{
<
HighlightOutlined
/>
}
// onClick={() => {
// setIsUploadFile(false);
// }}
>
Text
</
Button
>
</
ButtonGroup
>
{
/* Video uploading */
}
<
Box
sx=
{
{
flexGrow
:
1
}
}
>
<
Card
>
<
CardHeader
title=
"Upload a video containing Sign Language"
/>
<
Grid
container
spacing=
{
2
}
>
<
Grid
item
xs=
{
12
}
md=
{
6
}
>
<
Card
sx=
{
{
marginBottom
:
'
10px
'
,
marginLeft
:
'
10px
'
}
}
>
<
CardContent
>
{
/* ! Important */
}
{
/* @ts-ignore */
}
<
MuiFileInput
value=
{
file
}
onChange=
{
handleDropSingleFile
}
inputProps=
{
{
accept
:
'
video/*
'
}
}
/>
<
Paper
style=
{
{
padding
:
'
20px
'
,
marginTop
:
'
15px
'
}
}
>
<
Typography
variant=
"h5"
align=
"center"
gutterBottom
>
Preview
</
Typography
>
<
div
style=
{
{
marginTop
:
'
20px
'
,
textAlign
:
'
center
'
}
}
>
{
file
?
<
video
src=
{
videoUrl
}
width=
"400"
controls
/>
:
<
p
>
No Video Selected ...
</
p
>
}
</
div
>
</
Paper
>
</
CardContent
>
</
Card
>
</
Grid
>
{
/* <Grid item xs={12} md={6}>
<Card sx={{ p: 5, minHeight: 300, marginBottom: '10px', marginRight: '10px' }}>
<Box display="grid" gap={5}>
<Stack spacing={2}>
<Grid container spacing={2}>
<Grid item xs={12} md={6}>
<h3>Set Sign Speed </h3>
<Slider
defaultValue={30}
getAriaValueText={valuetext}
valueLabelDisplay="auto"
step={10}
marks
min={10}
max={110}
/>
<h4>Speed - {speed}</h4>
</Grid> */
}
<
Grid
item
xs=
{
12
}
md=
{
6
}
container
direction=
"row"
justifyContent=
"flex-end"
alignItems=
"center"
>
<
Button
variant=
"contained"
style=
{
{
width
:
'
200px
'
,
height
:
'
60px
'
,
fontSize
:
'
20px
'
}
}
sx=
{
{
mb
:
3
}
}
disabled=
{
loading
}
onClick=
{
()
=>
{
TranslateVideoToSignLanguage
();
}
}
endIcon=
{
<
TranslationOutlined
/>
}
>
Translate
</
Button
>
</
Grid
>
</
Grid
>
{
loading
?
(
<
Card
>
<
CardContent
>
<
LinearProgress
/>
<
center
>
<
Typography
variant=
"h5"
component=
"div"
sx=
{
{
marginTop
:
2
}
}
>
Loading...
</
Typography
>
</
center
>
</
CardContent
>
</
Card
>
)
:
(
<
div
>
<
Typography
variant=
"overline"
sx=
{
{
color
:
'
text.secondary
'
}
}
>
Translated Text
</
Typography
>
<
TextField
fullWidth
value=
{
value
}
onChange=
{
handleChange
}
InputProps=
{
{
endAdornment
:
(
<
InputAdornment
position=
"end"
>
<
IconButton
onClick=
{
()
=>
onCopy
(
value
)
}
>
<
CopyOutlined
/>
</
IconButton
>
</
InputAdornment
>
)
}
}
/>
</
div
>
)
}
</
Card
>
</
Box
>
</
Container
>
</
ScrollX
>
</
MainCard
>
);
};
...
...
Project/Frontend/SignConnectPlus/src/pages/video-to-sign-language/VideoTranslate/Video_trasnlator.tsx
0 → 100644
View file @
7c2333cd
// import { Alert, Button, Card, CardActions, CardContent, CardHeader, Container, Grid, Typography } from '@mui/material';
// import Head from 'next/head';
// import { useCallback, useState } from 'react';
// import { ComingSoonIllustration } from 'assets/illustrations';
// import CustomBreadcrumbs from 'components/custom-breadcrumbs/CustomBreadcrumbs';
// import Iconify from 'components/iconify/Iconify';
// import HomeWidget from 'sections/@dashboard/spokenLanguageTranslation-module/HomeWidget';
// import _mock from '../../../_mock';
// import Editor from '../../../components/editor';
// import { useSettingsContext } from '../../../components/settings';
// import { Upload } from '../../../components/upload';
// import DashboardLayout from '../../../layout/dashboard';
// import {
// CarouselBasic3
// } from '../../../sections/_examples/extra/carousel';
// SpokenLanguageTranslationHomePage.getLayout = (page: React.ReactElement) => <DashboardLayout>{page}</DashboardLayout>;
// export default function SpokenLanguageTranslationHomePage() {
// const { themeStretch } = useSettingsContext();
// const [translateType, setTranslateType] = useState<"video" | "text">()
// const [file, setFile] = useState<File | string | null>(null);
// const [quillSimple, setQuillSimple] = useState('');
// const handleHomeWidgetOnClick = (value: string) => {
// if (!value) return
// if (value == "Video Translate") {
// setTranslateType("video")
// return
// }
// if (value == "Text Translate") {
// setTranslateType("text")
// return
// }
// }
// const handleDropSingleFile = useCallback((acceptedFiles: File[]) => {
// const file = acceptedFiles[0];
// if (file) {
// setFile(
// Object.assign(file, {
// preview: URL.createObjectURL(file),
// })
// );
// }
// }, []);
// const _carouselsExample = [...Array(5)].map((_, index) => ({
// id: _mock.id(index),
// title: _mock.text.title(index),
// image: _mock.image.cover(index),
// description: _mock.text.description(index),
// }));
// return (
// <>
// <Head>
// <title> Spoken Language Translation Home | SignLink </title>
// </Head>
// <Container maxWidth={themeStretch ? false : 'xl'}>
// <CustomBreadcrumbs
// heading="Spoken Language Translation"
// links={[
// {
// name: 'Dashboard',
// href: '#',
// icon: <Iconify icon="eva:home-fill" />,
// },
// { name: 'Spoken Language Translation Module', href: '#', icon: <Iconify icon="eva:cube-outline" /> },
// { name: 'Spoken Language Translation', icon: <Iconify icon="eva:cube-outline" /> },
// ]}
// />
// </Container>
// <Container maxWidth={themeStretch ? false : 'xl'}>
// <Grid container spacing={2} rowSpacing={3}>
// <Grid item xs={12} md={6} lg={6}>
// <HomeWidget
// title="Video Translate"
// subTitle="Spoken Language Video Convert to sign language"
// icon="eva:video-fill"
// color='warning'
// handleClick={handleHomeWidgetOnClick}
// />
// </Grid>
// <Grid item xs={12} md={6} lg={6}>
// <HomeWidget
// title="Text Translate"
// subTitle="Spoken Language Text Convert to sign language"
// icon="eva:text-fill"
// color="success"
// handleClick={handleHomeWidgetOnClick}
// />
// </Grid>
// {!translateType && <>
// <Grid item xs={12} md={12} lg={12}>
// <Alert severity='info' >Select a Translation type</Alert>
// </Grid>
// </>}
// {translateType == "video" && <>
// <Grid item xs={12} md={8} lg={8}>
// <Card>
// <CardHeader
// title="Upload Video"
// subheader="Upload you're video to convert to sigh language"
// />
// <CardContent>
// <Upload file={file} onDrop={handleDropSingleFile} onDelete={() => setFile(null)} />
// </CardContent>
// <CardActions>
// <Button variant="contained" color='error' fullWidth onClick={() => { setFile(null) }}>
// Reset
// </Button>
// <Button variant="contained" fullWidth>
// Convert
// </Button>
// </CardActions>
// </Card>
// </Grid>
// <Grid item xs={12} md={4} lg={4}>
// <Card>
// <CardHeader title="3D Model" />
// <CardContent>
// <Typography variant="h3" paragraph>
// Coming Soon!
// </Typography>
// <Typography sx={{ color: 'text.secondary' }}>
// We are currently working hard on this page!
// </Typography>
// <ComingSoonIllustration sx={{ my: 1, height: 200 }} />
// </CardContent>
// </Card>
// </Grid>
// </>}
// {translateType == "text" && <>
// <Grid item xs={12} md={8} lg={8}>
// <Card sx={{ height: "100%" }}>
// <CardHeader
// title="Enter text"
// subheader="Enter you're text to convert to sigh language"
// />
// <CardContent>
// <Editor
// simple
// id="simple-editor"
// value={quillSimple}
// onChange={(value) => setQuillSimple(value)}
// />
// </CardContent>
// <CardActions>
// <Button variant="contained" color='error' fullWidth onClick={() => { setQuillSimple('') }}>
// Reset
// </Button>
// <Button variant="contained" fullWidth>
// Convert
// </Button>
// </CardActions>
// </Card>
// </Grid>
// <Grid item xs={12} md={4} lg={4}>
// <Card>
// <CardHeader title="Converted Output" />
// <CardContent>
// <CarouselBasic3 data={_carouselsExample} />
// </CardContent>
// </Card>
// </Grid>
// </>}
// </Grid>
// </Container>
// </>
// );
// }
Project/Frontend/SignConnectPlus/yarn.lock
View file @
7c2333cd
...
...
@@ -1119,6 +1119,13 @@
dependencies:
regenerator-runtime "^0.13.11"
"@babel/runtime@^7.22.10", "@babel/runtime@^7.4.4", "@babel/runtime@^7.8.3":
version "7.22.11"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.11.tgz#7a9ba3bbe406ad6f9e8dd4da2ece453eb23a77a4"
integrity sha512-ee7jVNlWN09+KftVOu9n7S8gQzD/Z6hN/I8VBRXW4P1+Xe7kJGXMwu8vds4aGIMHZnNbdpSWCfZZtinytpcAvA==
dependencies:
regenerator-runtime "^0.14.0"
"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3":
version "7.20.7"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
...
...
@@ -1367,6 +1374,11 @@
"@emotion/sheet" "^1.2.1"
"@emotion/utils" "^1.2.0"
"@emotion/hash@^0.8.0":
version "0.8.0"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
"@emotion/hash@^0.9.0":
version "0.9.0"
resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7"
...
...
@@ -2357,6 +2369,61 @@
resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b"
integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==
"@material-ui/core@^4.12.4":
version "4.12.4"
resolved "https://registry.yarnpkg.com/@material-ui/core/-/core-4.12.4.tgz#4ac17488e8fcaf55eb6a7f5efb2a131e10138a73"
integrity sha512-tr7xekNlM9LjA6pagJmL8QCgZXaubWUwkJnoYcMKd4gw/t4XiyvnTkjdGrUVicyB2BsdaAv1tvow45bPM4sSwQ==
dependencies:
"@babel/runtime" "^7.4.4"
"@material-ui/styles" "^4.11.5"
"@material-ui/system" "^4.12.2"
"@material-ui/types" "5.1.0"
"@material-ui/utils" "^4.11.3"
"@types/react-transition-group" "^4.2.0"
clsx "^1.0.4"
hoist-non-react-statics "^3.3.2"
popper.js "1.16.1-lts"
prop-types "^15.7.2"
react-is "^16.8.0 || ^17.0.0"
react-transition-group "^4.4.0"
"@material-ui/styles@^4.11.5":
version "4.11.5"
resolved "https://registry.yarnpkg.com/@material-ui/styles/-/styles-4.11.5.tgz#19f84457df3aafd956ac863dbe156b1d88e2bbfb"
integrity sha512-o/41ot5JJiUsIETME9wVLAJrmIWL3j0R0Bj2kCOLbSfqEkKf0fmaPt+5vtblUh5eXr2S+J/8J3DaCb10+CzPGA==
dependencies:
"@babel/runtime" "^7.4.4"
"@emotion/hash" "^0.8.0"
"@material-ui/types" "5.1.0"
"@material-ui/utils" "^4.11.3"
clsx "^1.0.4"
csstype "^2.5.2"
hoist-non-react-statics "^3.3.2"
jss "^10.5.1"
jss-plugin-camel-case "^10.5.1"
jss-plugin-default-unit "^10.5.1"
jss-plugin-global "^10.5.1"
jss-plugin-nested "^10.5.1"
jss-plugin-props-sort "^10.5.1"
jss-plugin-rule-value-function "^10.5.1"
jss-plugin-vendor-prefixer "^10.5.1"
prop-types "^15.7.2"
"@material-ui/system@^4.12.2":
version "4.12.2"
resolved "https://registry.yarnpkg.com/@material-ui/system/-/system-4.12.2.tgz#f5c389adf3fce4146edd489bf4082d461d86aa8b"
integrity sha512-6CSKu2MtmiJgcCGf6nBQpM8fLkuB9F55EKfbdTC80NND5wpTmKzwdhLYLH3zL4cLlK0gVaaltW7/wMuyTnN0Lw==
dependencies:
"@babel/runtime" "^7.4.4"
"@material-ui/utils" "^4.11.3"
csstype "^2.5.2"
prop-types "^15.7.2"
"@material-ui/types@5.1.0":
version "5.1.0"
resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-5.1.0.tgz#efa1c7a0b0eaa4c7c87ac0390445f0f88b0d88f2"
integrity sha512-7cqRjrY50b8QzRSYyhSpx4WRw2YuO0KKIGQEVk5J8uoz2BanawykgZGoWEqKm7pVIbzFDN0SpPcVV4IhOFkl8A==
"@material-ui/types@^4.0.0":
version "4.1.1"
resolved "https://registry.yarnpkg.com/@material-ui/types/-/types-4.1.1.tgz#b65e002d926089970a3271213a3ad7a21b17f02b"
...
...
@@ -2364,6 +2431,15 @@
dependencies:
"@types/react" "*"
"@material-ui/utils@^4.11.3":
version "4.11.3"
resolved "https://registry.yarnpkg.com/@material-ui/utils/-/utils-4.11.3.tgz#232bd86c4ea81dab714f21edad70b7fdf0253942"
integrity sha512-ZuQPV4rBK/V1j2dIkSSEcH5uT6AaHuKWFfotADHsC0wVL1NLd2WkFCm4ZZbX33iO4ydl6V0GPngKm8HZQ2oujg==
dependencies:
"@babel/runtime" "^7.4.4"
prop-types "^15.7.2"
react-is "^16.8.0 || ^17.0.0"
"@messageformat/core@^3.0.1":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@messageformat/core/-/core-3.1.0.tgz#d4d2f5c3555228a6b5980b122a02b53dfc6458bd"
...
...
@@ -2419,6 +2495,13 @@
resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.12.1.tgz#f828554889e6ab7345395626bb46e561c113435e"
integrity sha512-rNiQYHtkXljcvCEnhWrJzie1ifff5O98j3uW7ZlchFgD8HWxEcz/QoxZvo+sCKC9aayAgxi9RsVn2VjCyp5CrA==
"@mui/icons-material@^5.14.6":
version "5.14.6"
resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.14.6.tgz#0efdcba2c30d6b22e6ead787b67247da173bd11a"
integrity sha512-7Cujy7lRGTj2T3SvY9C9ZOTFDtrXJogeNnRcU/ODyNoxwskMNPFOcc15F+98MAdJenBVLJPYu+vPP6DUvEpNrA==
dependencies:
"@babel/runtime" "^7.22.10"
"@mui/lab@^5.0.0-alpha.127":
version "5.0.0-alpha.127"
resolved "https://registry.yarnpkg.com/@mui/lab/-/lab-5.0.0-alpha.127.tgz#158f59cb0ab993be840cbf79ab643ca32fd9a5d8"
...
...
@@ -3610,6 +3693,13 @@
dependencies:
"@types/react" "*"
"@types/react-transition-group@^4.2.0":
version "4.4.6"
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e"
integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==
dependencies:
"@types/react" "*"
"@types/react-transition-group@^4.4.5":
version "4.4.5"
resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416"
...
...
@@ -4975,7 +5065,7 @@ clone@^2.1.1, clone@^2.1.2:
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
clsx@^1.1.0, clsx@^1.1.1, clsx@^1.2.1:
clsx@^1.
0.4, clsx@^1.
1.0, clsx@^1.1.1, clsx@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
...
...
@@ -5411,6 +5501,14 @@ css-tree@~2.2.0:
mdn-data "2.0.28"
source-map-js "^1.0.1"
css-vendor@^2.0.8:
version "2.0.8"
resolved "https://registry.yarnpkg.com/css-vendor/-/css-vendor-2.0.8.tgz#e47f91d3bd3117d49180a3c935e62e3d9f7f449d"
integrity sha512-x9Aq0XTInxrkuFeHKbYC7zWY8ai7qJ04Kxd9MnvbC1uO5DagxoHQjm4JvG+vCdXOoFtCjbL2XSZfxmoYa9uQVQ==
dependencies:
"@babel/runtime" "^7.8.3"
is-in-browser "^1.0.2"
css-what@^3.2.1:
version "3.4.2"
resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
...
...
@@ -5521,6 +5619,11 @@ cssstyle@^2.3.0:
dependencies:
cssom "~0.3.6"
csstype@^2.5.2:
version "2.6.21"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e"
integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==
csstype@^3.0.2, csstype@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
...
...
@@ -6657,6 +6760,13 @@ file-loader@^6.2.0:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
file-selector@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.4.0.tgz#59ec4f27aa5baf0841e9c6385c8386bef4d18b17"
integrity sha512-iACCiXeMYOvZqlF1kTiYINzgepRBymz1wwjiuup9u9nayhb6g4fSwiyJ/6adli+EPwrWtpgQAh2PoS7HukEGEg==
dependencies:
tslib "^2.0.3"
file-selector@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/file-selector/-/file-selector-0.6.0.tgz#fa0a8d9007b829504db4d07dd4de0310b65287dc"
...
...
@@ -7394,6 +7504,11 @@ hyphen@^1.6.4:
resolved "https://registry.yarnpkg.com/hyphen/-/hyphen-1.6.5.tgz#956a4c929c111441dc798ad88de3c941e1b383d3"
integrity sha512-MZbhHutRaHCUxjvJBYqL51Ntjbq16LemuJr2u+LpKd3UwyNHZsZAKh5uD+KmdAHtWpteupOqQTTezVGR/al43w==
hyphenate-style-name@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz#691879af8e220aea5750e8827db4ef62a54e361d"
integrity sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==
iconv-lite@0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
...
...
@@ -7673,6 +7788,11 @@ is-hexadecimal@^1.0.0:
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
is-in-browser@^1.0.2, is-in-browser@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835"
integrity sha512-FeXIBgG/CPGd/WUxuEyvgGTEfwiG9Z4EKGxjNMRqviiIIfsmgrpnHLffEDdwUHqNva1VEW91o3xBT/m8Elgl9g==
is-map@^2.0.1, is-map@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
...
...
@@ -8572,6 +8692,76 @@ jsonwebtoken@^9.0.0:
ms "^2.1.1"
semver "^7.3.8"
jss-plugin-camel-case@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz#27ea159bab67eb4837fa0260204eb7925d4daa1c"
integrity sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==
dependencies:
"@babel/runtime" "^7.3.1"
hyphenate-style-name "^1.0.3"
jss "10.10.0"
jss-plugin-default-unit@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz#db3925cf6a07f8e1dd459549d9c8aadff9804293"
integrity sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.10.0"
jss-plugin-global@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz#1c55d3c35821fab67a538a38918292fc9c567efd"
integrity sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.10.0"
jss-plugin-nested@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz#db872ed8925688806e77f1fc87f6e62264513219"
integrity sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.10.0"
tiny-warning "^1.0.2"
jss-plugin-props-sort@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz#67f4dd4c70830c126f4ec49b4b37ccddb680a5d7"
integrity sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.10.0"
jss-plugin-rule-value-function@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz#7d99e3229e78a3712f78ba50ab342e881d26a24b"
integrity sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.10.0"
tiny-warning "^1.0.2"
jss-plugin-vendor-prefixer@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz#c01428ef5a89f2b128ec0af87a314d0c767931c7"
integrity sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==
dependencies:
"@babel/runtime" "^7.3.1"
css-vendor "^2.0.8"
jss "10.10.0"
jss@10.10.0, jss@^10.5.1:
version "10.10.0"
resolved "https://registry.yarnpkg.com/jss/-/jss-10.10.0.tgz#a75cc85b0108c7ac8c7b7d296c520a3e4fbc6ccc"
integrity sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==
dependencies:
"@babel/runtime" "^7.3.1"
csstype "^3.0.2"
is-in-browser "^1.1.3"
tiny-warning "^1.0.2"
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3:
version "3.3.3"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
...
...
@@ -9051,6 +9241,13 @@ ms@2.1.3, ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
mui-file-input@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mui-file-input/-/mui-file-input-3.0.0.tgz#c4a96273071b7c2ec0808f873822747335396b65"
integrity sha512-Nin+6Xq+X7MW3iNzYuTExx552uWrnXtF30ZzUig/zJQP5vVRB7yj4iro8ETKeQ5nrYM2zdvlHyPIoD2cAsGsmQ==
dependencies:
pretty-bytes "^6.1.1"
multicast-dns@^7.2.5:
version "7.2.5"
resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced"
...
...
@@ -9557,6 +9754,11 @@ pkg-up@^3.1.0:
dependencies:
find-up "^3.0.0"
popper.js@1.16.1-lts:
version "1.16.1-lts"
resolved "https://registry.yarnpkg.com/popper.js/-/popper.js-1.16.1-lts.tgz#cf6847b807da3799d80ee3d6d2f90df8a3f50b05"
integrity sha512-Kjw8nKRl1m+VrSFCoVGPph93W/qrSO7ZkqPpTf7F4bk/sqcfWK019dWBUpE/fBOsOQY1dks/Bmcbfn1heM/IsA==
postcss-attribute-case-insensitive@^5.0.2:
version "5.0.2"
resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz#03d761b24afc04c09e757e92ff53716ae8ea2741"
...
...
@@ -10165,6 +10367,11 @@ pretty-bytes@^5.3.0, pretty-bytes@^5.4.1:
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb"
integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
pretty-bytes@^6.1.1:
version "6.1.1"
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-6.1.1.tgz#38cd6bb46f47afbf667c202cfc754bffd2016a3b"
integrity sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==
pretty-error@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6"
...
...
@@ -10602,6 +10809,15 @@ react-draggable@^4.4.5:
clsx "^1.1.1"
prop-types "^15.8.1"
react-dropzone@^11.4.2:
version "11.7.1"
resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-11.7.1.tgz#3851bb75b26af0bf1b17ce1449fd980e643b9356"
integrity sha512-zxCMwhfPy1olUEbw3FLNPLhAm/HnaYH5aELIEglRbqabizKAdHs0h+WuyOpmA+v1JXn0++fpQDdNfUagWt5hJQ==
dependencies:
attr-accept "^2.2.2"
file-selector "^0.4.0"
prop-types "^15.8.1"
react-dropzone@^14.2.3:
version "14.2.3"
resolved "https://registry.yarnpkg.com/react-dropzone/-/react-dropzone-14.2.3.tgz#0acab68308fda2d54d1273a1e626264e13d4e84b"
...
...
@@ -10676,7 +10892,7 @@ react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
react-is@^17.0.1:
"react-is@^16.8.0 || ^17.0.0",
react-is@^17.0.1:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
...
...
@@ -10686,6 +10902,13 @@ react-is@^18.0.0, react-is@^18.2.0:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
react-material-file-upload@^0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/react-material-file-upload/-/react-material-file-upload-0.0.4.tgz#c829723076d1da52ddc360827f170acc8c321406"
integrity sha512-gXRPpOc3hZdrNiVR4SptGCGrSjOVQkkxnSsOU4++937qcmp4W3N8n/s0LPIc8Pd3T4McK0XaWegGAUPEO5riaA==
dependencies:
react-dropzone "^11.4.2"
react-number-format@^5.1.4:
version "5.1.4"
resolved "https://registry.yarnpkg.com/react-number-format/-/react-number-format-5.1.4.tgz#23057d94a4f1b08e12ee41328e86be929b60a791"
...
...
@@ -10883,7 +11106,7 @@ react-to-print@^2.14.12:
dependencies:
prop-types "^15.8.1"
react-transition-group@^4.4.5:
react-transition-group@^4.4.
0, react-transition-group@^4.4.
5:
version "4.4.5"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
...
...
@@ -10893,6 +11116,11 @@ react-transition-group@^4.4.5:
loose-envify "^1.4.0"
prop-types "^15.6.2"
react-webcam@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/react-webcam/-/react-webcam-7.1.1.tgz#e6290b192cde0d2a1039051a019a18e998d7fb39"
integrity sha512-2W5WN8wmEv8ZlxvyAlOxVuw6new8Bi7+KSPqoq5oa7z1KSKZ72ucaKqCFRtHSuFjZ5sh5ioS9lp4BGwnaZ6lDg==
react-window@^1.8.9:
version "1.8.9"
resolved "https://registry.yarnpkg.com/react-window/-/react-window-1.8.9.tgz#24bc346be73d0468cdf91998aac94e32bc7fa6a8"
...
...
@@ -11017,6 +11245,11 @@ regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.9:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
regenerator-runtime@^0.14.0:
version "0.14.0"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45"
integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==
regenerator-transform@^0.15.1:
version "0.15.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment