Toggle navigation
Toggle navigation
This project
Loading...
Sign in
2021-1-capstone-design1
/
GCL_Project1
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
이승윤
2021-06-12 01:53:14 +0900
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
2464bb4c13b3c9c58042bd5b8820e2ef2e0007ea
2464bb4c
2 parents
8c811693
0dd003da
Merge branch 'style/icon' into 'develop'
Style/icon See merge request
!10
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
417 additions
and
58 deletions
frontend/package.json
frontend/src/components/Header.js
frontend/src/components/SearchOptionModal.js
frontend/src/components/common/Button.js
frontend/src/components/common/DropdownButton.js
frontend/src/components/common/Input.js
frontend/src/components/common/SearchBox.js
frontend/yarn.lock
frontend/package.json
View file @
2464bb4
...
...
@@ -3,20 +3,22 @@
"version"
:
"0.1.0"
,
"private"
:
true
,
"dependencies"
:
{
"@mantine/core"
:
"^1.0.6"
,
"@mantine/hooks"
:
"^1.0.6"
,
"@testing-library/jest-dom"
:
"^5.11.4"
,
"@testing-library/react"
:
"^11.1.0"
,
"@testing-library/user-event"
:
"^12.1.10"
,
"axios"
:
"^0.21.1"
,
"react"
:
"^17.0.2"
,
"react-dom"
:
"^17.0.2"
,
"react-icons"
:
"^4.2.0"
,
"react-jss"
:
"^10.6.0"
,
"react-redux"
:
"^7.2.3"
,
"react-router-dom"
:
"^5.2.0"
,
"react-scripts"
:
"4.0.3"
,
"redux"
:
"^4.0.5"
,
"styled-components"
:
"^5.2.3"
,
"web-vitals"
:
"^1.0.1"
,
"@mantine/core"
:
"^1.0.6"
,
"@mantine/hooks"
:
"^1.0.6"
"web-vitals"
:
"^1.0.1"
},
"scripts"
:
{
"start"
:
"react-scripts start"
,
...
...
frontend/src/components/Header.js
View file @
2464bb4
import
React
,
{
useState
}
from
'react'
;
import
{
NavLink
,
useHistory
}
from
'react-router-dom'
;
import
{
FaSearch
}
from
'react-icons/fa'
;
import
styled
from
'styled-components'
;
import
InputBlock
from
'./common/Input'
;
import
DropDownButton
from
'./common/DropdownButton'
;
...
...
@@ -123,6 +124,8 @@ const Header = () => {
<
DropDownContainer
>
<
DropDownWrap
>
<
DropDownButton
menuPosition
=
{{
top
:
40
}}
size
=
{
100
}
color
=
"blue"
float
=
"left"
fontsize
=
"20px"
...
...
@@ -146,20 +149,24 @@ const Header = () => {
<
SortOptionContainer
>
<
DropDownButton
color
=
"white"
width
=
"
85
px"
width
=
"
100
px"
fontsize
=
"15px"
height
=
"36px"
title
=
"정렬(기본)"
menuPosition
=
{{
top
:
29
}}
size
=
"100"
options
=
{[
{
id
:
0
,
name
:
'정렬(기본)'
},
{
id
:
1
,
name
:
'날짜빠른순'
},
{
id
:
2
,
name
:
'크기높은순'
},
{
id
:
3
,
name
:
'크기낮은순'
},
]}
/
>
/>
{' '
}
<
/SortOptionContainer
>
<
SearchOptionContainer
onClick
=
{
openModal
}
>
<
Button
color
=
"gray"
>
고급
검색
<
/Button
>
<
Button
color
=
"gray"
size
=
"md"
icon
=
{
<
FaSearch
/>
}
>
고급
검색
<
/Button
>
<
/SearchOptionContainer
>
<
Modal
showModal
=
{
showModal
}
setShowModal
=
{
setShowModal
}
/
>
<
/OptionContainer
>
...
...
frontend/src/components/SearchOptionModal.js
View file @
2464bb4
import
React
,
{
useRef
}
from
'react'
;
import
{
Card
}
from
'@mantine/core'
;
import
React
,
{
useRef
,
useState
}
from
'react'
;
import
{
Card
,
TextInput
}
from
'@mantine/core'
;
import
{
useHistory
}
from
'react-router-dom'
;
import
styled
from
'styled-components'
;
import
Button
from
'./common/Button'
;
import
Input
from
'./common/Input'
;
const
Background
=
styled
.
div
``
;
...
...
@@ -34,13 +34,13 @@ const CloseWrap = styled.div`
const
StandardWrap
=
styled
.
div
`
position: absolute;
width: 50px;
width:
2
50px;
top: 15px;
left: 30%;
`
;
const
AdvancedWrap
=
styled
.
div
`
width: 50px;
width:
2
50px;
position: absolute;
top: 75px;
left: 30%;
...
...
@@ -57,6 +57,11 @@ const TextWrap = styled.div`
`
;
const
Modal
=
({
showModal
,
setShowModal
})
=>
{
const
[
query
,
setQuery
]
=
useState
(
''
);
const
[
keywordQuery
,
setKeywordQuery
]
=
useState
(
''
);
const
[
writerQuery
,
setWriterQuery
]
=
useState
(
''
);
const
[
dateQuery
,
setDateQuery
]
=
useState
(
''
);
const
history
=
useHistory
();
const
modalRef
=
useRef
();
const
closeModal
=
e
=>
{
if
(
modalRef
.
current
===
e
.
target
)
{
...
...
@@ -75,47 +80,62 @@ const Modal = ({ showModal, setShowModal }) => {
기본검색
<
/TextWrap
>
<
StandardWrap
>
<
Input
float
=
"left"
color
=
"blue"
width
=
"350px"
height
=
"40px"
paddingsize
=
"3px"
fontsize
=
"15px"
<
TextInput
inputStyle
=
{{
marginBottom
:
18
,
fontSize
:
15
,
}}
placeholder
=
"내용을 입력해 주세요."
type
=
"text"
value
=
{
decodeURIComponent
(
query
)}
onChange
=
{
e
=>
setQuery
(
e
.
target
.
value
)}
onKeyPress
=
{
e
=>
{
if
(
e
.
key
===
'Enter'
)
{
if
(
query
===
''
)
{
alert
(
'검색어를 입력 해 주세요.'
);
return
;
}
const
params
=
new
URLSearchParams
({
query
});
history
.
push
(
`search?
${
decodeURIComponent
(
params
.
toString
())}
`
);
}
}}
/
>
<
/StandardWrap
>
<
TextWrap
top
=
"24%"
right
=
"10%"
bottom
=
"31%"
>
고급검색
<
/TextWrap
>
<
AdvancedWrap
>
<
Input
float
=
"left"
color
=
"blue"
width
=
"350px"
height
=
"40px"
paddingsize
=
"3px"
fontsize
=
"15px"
placeholder
=
"단어/ 문장검색"
<
TextInput
inputStyle
=
{{
marginBottom
:
18
,
fontSize
:
15
,
}}
placeholder
=
"단어/문장 검색"
type
=
"text"
value
=
{
decodeURIComponent
(
keywordQuery
)}
onChange
=
{
e
=>
setKeywordQuery
(
e
.
target
.
value
)}
/
>
<
br
/>
<
br
/>
<
Input
float
=
"left"
color
=
"blue"
width
=
"350px"
height
=
"40px
"
paddingsize
=
"3px
"
fontsize
=
"15px"
placeholder
=
"최초 작성자"
<
TextInput
inputStyle
=
{{
marginBottom
:
18
,
fontSize
:
15
,
}}
placeholder
=
"작성자
"
type
=
"text
"
value
=
{
decodeURIComponent
(
writerQuery
)}
onChange
=
{
e
=>
setWriterQuery
(
e
.
target
.
value
)}
/
>
<
br
/>
<
br
/>
<
Input
float
=
"left"
color
=
"blue"
width
=
"350px"
height
=
"40px
"
paddingsize
=
"3px
"
fontsize
=
"15px"
placeholder
=
"최종 수정자"
<
TextInput
inputStyle
=
{{
marginBottom
:
18
,
fontSize
:
15
,
}}
placeholder
=
"생성 날짜
"
type
=
"text
"
value
=
{
decodeURIComponent
(
dateQuery
)}
onChange
=
{
e
=>
setDateQuery
(
e
.
target
.
value
)}
/
>
<
/AdvancedWrap
>
<
/ModalContent
>
...
...
frontend/src/components/common/Button.js
View file @
2464bb4
...
...
@@ -10,10 +10,18 @@ const ButtonBlock = styled.div`
cursor: pointer;
`
;
const
Buttons
=
({
children
,
color
,
float
,
width
,
fontsize
})
=>
{
const
Buttons
=
({
children
,
size
=
'lg'
,
color
,
float
,
width
,
fontsize
,
icon
=
''
,
})
=>
{
return
(
<
ButtonBlock
float
=
{
float
}
width
=
{
width
}
fontsize
=
{
fontsize
}
>
<
Button
fullWidth
size
=
"lg"
color
=
{
color
||
'blue'
}
>
<
Button
size
=
{
size
}
color
=
{
color
||
'blue'
}
rightIcon
=
{
icon
}
>
{
children
}
<
/Button>
<
/ButtonBlock>
...
...
frontend/src/components/common/DropdownButton.js
View file @
2464bb4
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
TiArrowSortedDown
}
from
'react-icons/ti'
;
import
{
Menu
,
MenuItem
}
from
'@mantine/core'
;
import
styled
from
'styled-components'
;
import
{
dropdownHeaderColorMap
}
from
'../../lib/styles/palette'
;
...
...
@@ -10,6 +11,9 @@ const DropDownBlock = styled.div`
const
DropDownHeader
=
styled
(
Menu
)
``
;
const
DropDownWrap
=
styled
.
button
`
display: flex;
justify-content: space-around;
align-items: center;
color:
${
props
=>
dropdownHeaderColorMap
[
props
.
color
].
color
}
;
background-color:
${
props
=>
dropdownHeaderColorMap
[
props
.
color
].
background
}
;
cursor: pointer;
...
...
@@ -18,7 +22,6 @@ const DropDownWrap = styled.button`
dropdownHeaderColorMap
[
props
.
color
].
hoverBackground
}
;
}
margin-bottom: 0.8em;
padding: 0.4em;
width:
${
props
=>
props
.
width
||
'100px'
}
;
height:
${
props
=>
props
.
height
||
'30px'
}
;
padding-right: 7%;
...
...
@@ -34,6 +37,8 @@ const DropDown = ({
width
,
height
,
title
=
'전체'
,
menuPosition
,
size
,
})
=>
{
const
[
menuTitle
,
setTitle
]
=
useState
(
''
);
useEffect
(()
=>
{
...
...
@@ -42,6 +47,8 @@ const DropDown = ({
return
(
<
DropDownBlock
float
=
{
float
}
color
=
{
color
}
title
=
{
title
}
>
<
DropDownHeader
menuPosition
=
{
menuPosition
}
size
=
{
size
}
control
=
{
<
DropDownWrap
options
=
{
options
}
...
...
@@ -51,6 +58,7 @@ const DropDown = ({
height
=
{
height
}
>
{
menuTitle
}
<
TiArrowSortedDown
/>
<
/DropDownWrap
>
}
>
...
...
frontend/src/components/common/Input.js
View file @
2464bb4
...
...
@@ -17,7 +17,6 @@ const InputWrap = styled.div`
width: 70%;
height: 100%;
color:
${
props
=>
inputColorMap
[
props
.
color
].
color
}
;
box-shadow: 2px 3px 28px 1px rgba(0, 0, 0, 0.1);
outline: none;
font-size:
${
props
=>
props
.
size
}
;
border: 3px solid
${
props
=>
inputColorMap
[
props
.
color
].
borderColor
}
;
...
...
@@ -63,7 +62,7 @@ const MyInput = ({
variant
=
"unstyled"
placeholder
=
{
placeholder
}
type
=
"text"
value
=
{
query
}
value
=
{
decodeURIComponent
(
query
)
}
onChange
=
{
e
=>
setQuery
(
e
.
target
.
value
)}
onKeyPress
=
{
e
=>
{
if
(
e
.
key
===
'Enter'
)
{
...
...
@@ -72,15 +71,19 @@ const MyInput = ({
return
;
}
const
params
=
new
URLSearchParams
({
query
});
history
.
push
(
`search?
${
params
.
toString
(
)}
`
);
history
.
push
(
`search?
${
decodeURIComponent
(
params
.
toString
()
)}
`
);
}
}}
/
>
<
/InputWrap
>
<
SearchIconWrap
onClick
=
{()
=>
{
if
(
query
===
''
)
{
alert
(
'검색어를 입력 해 주세요.'
);
return
;
}
const
params
=
new
URLSearchParams
({
query
});
history
.
push
(
`search?
${
params
.
toString
(
)}
`
);
history
.
push
(
`search?
${
decodeURIComponent
(
params
.
toString
()
)}
`
);
}}
>
<
SearchBox
color
=
"blue"
size
=
"50px"
display
=
{
display
}
/
>
...
...
frontend/src/components/common/SearchBox.js
View file @
2464bb4
import
React
from
'react'
;
import
styled
from
'styled-components'
;
import
{
AiOutlineSearch
}
from
'react-icons/ai'
;
import
{
searchBoxColorMap
}
from
'../../lib/styles/palette'
;
const
ButtonBlock
=
styled
.
button
`
const
ButtonBlock
=
styled
.
div
`
text-align: center;
display: table-cell;
vertical-align: middle;
width:
${
props
=>
props
.
size
}
;
height:
${
props
=>
props
.
size
}
;
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-2 -3 30 30'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z' fill='white'/%3E%3Cpath d='M0 0h24v24H0z' fill='none'/%3E%3C/svg%3E");
display:
${
props
=>
props
.
display
}
;
background-color:
${
props
=>
searchBoxColorMap
[
props
.
color
].
background
}
;
&:hover {
...
...
@@ -18,9 +21,17 @@ const ButtonBlock = styled.button`
cursor: pointer;
`
;
const
SFaSearch
=
styled
(
AiOutlineSearch
)
`
width: 35px;
height: 35px;
margin-right: 5px;
margin-top: 2px;
`
;
const
SearchBox
=
({
color
,
float
,
size
=
'1px'
,
display
=
'none'
})
=>
{
return
(
<
ButtonBlock
color
=
{
color
}
float
=
{
float
}
size
=
{
size
}
display
=
{
display
}
/
>
<
ButtonBlock
color
=
{
color
}
float
=
{
float
}
size
=
{
size
}
display
=
{
display
}
>
<
SFaSearch
/>
<
/ButtonBlock
>
);
};
...
...
frontend/yarn.lock
View file @
2464bb4
...
...
@@ -1127,6 +1127,13 @@
dependencies:
regenerator-runtime "^0.13.4"
"@babel/runtime@^7.3.1", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.7":
version "7.14.5"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.5.tgz#665450911c6031af38f81db530f387ec04cd9a98"
integrity sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==
dependencies:
regenerator-runtime "^0.13.4"
"@babel/template@^7.10.4", "@babel/template@^7.12.13", "@babel/template@^7.3.3":
version "7.12.13"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327"
...
...
@@ -1182,6 +1189,13 @@
resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18"
integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==
"@emotion/is-prop-valid@^0.7.3":
version "0.7.3"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.7.3.tgz#a6bf4fa5387cbba59d44e698a4680f481a8da6cc"
integrity sha512-uxJqm/sqwXw3YPA5GXX365OBcJGFtxUVkB6WyezqFHlNe9jqUWH5ur2O2M8dGBz61kn1g3ZBlzUunFQXQIClhA==
dependencies:
"@emotion/memoize" "0.7.1"
"@emotion/is-prop-valid@^0.8.8":
version "0.8.8"
resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz#db28b1c4368a259b60a97311d6a952d4fd01ac1a"
...
...
@@ -1189,6 +1203,11 @@
dependencies:
"@emotion/memoize" "0.7.4"
"@emotion/memoize@0.7.1":
version "0.7.1"
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.1.tgz#e93c13942592cf5ef01aa8297444dc192beee52f"
integrity sha512-Qv4LTqO11jepd5Qmlp3M1YEjBumoTHcHFdgPTQ+sFlIL5myi/7xu/POwP7IRu6odBdmLXdtIs1D6TuW6kbwbbg==
"@emotion/memoize@0.7.4":
version "0.7.4"
resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.7.4.tgz#19bf0f5af19149111c40d98bb0cf82119f5d9eeb"
...
...
@@ -1438,6 +1457,20 @@
"@types/yargs" "^15.0.0"
chalk "^4.0.0"
"@mantine/core@^1.0.6":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@mantine/core/-/core-1.3.1.tgz#9eff042e7a4866e60edeaadc67d9bd96426fbdb5"
integrity sha512-qcGwyAmUw6bYsNwfBtQ5KcOD3Orfu/3zq8cYETb3JN5QGRGEyzQW9FcxBODYC70KmBYYovNNdyZqOPM3UZ8uLg==
dependencies:
clsx "^1.1.1"
react-textarea-autosize "^8.3.2"
react-transition-group "^4.4.2"
"@mantine/hooks@^1.0.6":
version "1.3.1"
resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-1.3.1.tgz#4e6908cb6085088b4f476f70f888e83499b4c95b"
integrity sha512-vE5Wk6XQXgOjg0MqWA8vl2zLlG+xcrfikV6jyCJQkPHyxKFYGv25XG1A+Egxa6vXakseCIBG1ERY0iDFkcQi0A==
"@nodelib/fs.scandir@2.1.4":
version "2.1.4"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
...
...
@@ -3369,6 +3402,11 @@ cliui@^6.0.0:
strip-ansi "^6.0.0"
wrap-ansi "^6.2.0"
clsx@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
...
...
@@ -3757,6 +3795,15 @@ css-has-pseudo@^0.10.0:
postcss "^7.0.6"
postcss-selector-parser "^5.0.0-rc.4"
css-jss@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/css-jss/-/css-jss-10.6.0.tgz#db5de90a4b53ca05d7e1c6bcec0c1ba8f1c1bcea"
integrity sha512-4SE0tWggVM6Y4UTcKMoZXFBuhzycY6fKEdONr7wn89SIFd4eXiUZ0f5f4tLwXyFOW2q13JReXp8n9vSLKp48/g==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
jss-preset-default "10.6.0"
css-loader@4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-4.3.0.tgz#c888af64b2a5b2e85462c72c0f4a85c7e2e0821e"
...
...
@@ -3822,6 +3869,14 @@ css-tree@^1.1.2:
mdn-data "2.0.14"
source-map "^0.6.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"
...
...
@@ -4226,6 +4281,14 @@ dom-converter@^0.2:
dependencies:
utila "~0.4"
dom-helpers@^5.0.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
dependencies:
"@babel/runtime" "^7.8.7"
csstype "^3.0.2"
dom-serializer@0:
version "0.2.2"
resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
...
...
@@ -5614,7 +5677,7 @@ hmac-drbg@^1.0.1:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2:
hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.
2.0, hoist-non-react-statics@^3.
3.0, hoist-non-react-statics@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
...
...
@@ -5788,6 +5851,11 @@ human-signals@^1.1.1:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==
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"
...
...
@@ -5885,6 +5953,13 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
indefinite-observable@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/indefinite-observable/-/indefinite-observable-2.0.1.tgz#574af29bfbc17eb5947793797bddc94c9d859400"
integrity sha512-G8vgmork+6H9S8lUAg1gtXEj2JxIQTo0g2PbFiYOdjkziSI0F7UYBiVwhZRuixhBCNGczAls34+5HJPyZysvxQ==
dependencies:
symbol-observable "1.2.0"
indent-string@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
...
...
@@ -6156,6 +6231,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
dependencies:
is-extglob "^2.1.1"
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 sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU=
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
...
...
@@ -6944,6 +7024,141 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
jss-plugin-camel-case@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.6.0.tgz#93d2cd704bf0c4af70cc40fb52d74b8a2554b170"
integrity sha512-JdLpA3aI/npwj3nDMKk308pvnhoSzkW3PXlbgHAzfx0yHWnPPVUjPhXFtLJzgKZge8lsfkUxvYSQ3X2OYIFU6A==
dependencies:
"@babel/runtime" "^7.3.1"
hyphenate-style-name "^1.0.3"
jss "10.6.0"
jss-plugin-compose@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-compose/-/jss-plugin-compose-10.6.0.tgz#0bf058814ea9b47e87cc61f1261aab881daa403b"
integrity sha512-zBhI5ZDVX30h4N+rPunAfbwHVDWlme0JPiLBT0TSg24aX+QhjpogZSKHv9pn23NqIdiz3aIJmrNVnJ5rwNKQKA==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
tiny-warning "^1.0.2"
jss-plugin-default-unit@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.6.0.tgz#af47972486819b375f0f3a9e0213403a84b5ef3b"
integrity sha512-7y4cAScMHAxvslBK2JRK37ES9UT0YfTIXWgzUWD5euvR+JR3q+o8sQKzBw7GmkQRfZijrRJKNTiSt1PBsLI9/w==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
jss-plugin-expand@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-expand/-/jss-plugin-expand-10.6.0.tgz#7eabb6d14f407c38b4d6013588d6641a2e869723"
integrity sha512-TYVfKS3l8kNaClWW3PA9AhFr9ixhBnKcdGwZDRH3WRGDmdX0RYOhpfScscRXQM1HAlqaXLRqiP+NYGCK6QBgOg==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
jss-plugin-extend@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-extend/-/jss-plugin-extend-10.6.0.tgz#7611d5d96781b833e5b4aa3eb8599525e790143b"
integrity sha512-eY/zKMT+aUOdHegTDzTznq8Nwsv0PEb5AyJfo8A1B9jPxzzLTGcFOl9S6JZoYRxMh9TWxA5lOULMIjgKAKzUcQ==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
tiny-warning "^1.0.2"
jss-plugin-global@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.6.0.tgz#3e8011f760f399cbadcca7f10a485b729c50e3ed"
integrity sha512-I3w7ji/UXPi3VuWrTCbHG9rVCgB4yoBQLehGDTmsnDfXQb3r1l3WIdcO8JFp9m0YMmyy2CU7UOV6oPI7/Tmu+w==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
jss-plugin-nested@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.6.0.tgz#5f83c5c337d3b38004834e8426957715a0251641"
integrity sha512-fOFQWgd98H89E6aJSNkEh2fAXquC9aZcAVjSw4q4RoQ9gU++emg18encR4AT4OOIFl4lQwt5nEyBBRn9V1Rk8g==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
tiny-warning "^1.0.2"
jss-plugin-props-sort@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.6.0.tgz#297879f35f9fe21196448579fee37bcde28ce6bc"
integrity sha512-oMCe7hgho2FllNc60d9VAfdtMrZPo9n1Iu6RNa+3p9n0Bkvnv/XX5San8fTPujrTBScPqv9mOE0nWVvIaohNuw==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
jss-plugin-rule-value-function@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.6.0.tgz#3c1a557236a139d0151e70a82c810ccce1c1c5ea"
integrity sha512-TKFqhRTDHN1QrPTMYRlIQUOC2FFQb271+AbnetURKlGvRl/eWLswcgHQajwuxI464uZk91sPiTtdGi7r7XaWfA==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
tiny-warning "^1.0.2"
jss-plugin-rule-value-observable@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-observable/-/jss-plugin-rule-value-observable-10.6.0.tgz#2b3252cc1507d0154bd9e50f4527ad8073d67b6b"
integrity sha512-+N6S8UZ+Tu+G2Fbu/UrfLI/JyaTi/KfkPbKsVRfyg/C/IdI+p9+H67HncMIFYEi/KnNj5fqvMNSDe4ag/lqbHw==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
symbol-observable "^1.2.0"
jss-plugin-template@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-template/-/jss-plugin-template-10.6.0.tgz#75b1643044f3191b9d447589439053c597854704"
integrity sha512-P3iaIR6AqTOoutwP7Y2KVCq4jShEMACrwKf8W9gsS3ppnIeBg4OCAQvLKmqunApkEoIk0711xbW9XPi9CYy3zg==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
tiny-warning "^1.0.2"
jss-plugin-vendor-prefixer@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.6.0.tgz#e1fcd499352846890c38085b11dbd7aa1c4f2c78"
integrity sha512-doJ7MouBXT1lypLLctCwb4nJ6lDYqrTfVS3LtXgox42Xz0gXusXIIDboeh6UwnSmox90QpVnub7au8ybrb0krQ==
dependencies:
"@babel/runtime" "^7.3.1"
css-vendor "^2.0.8"
jss "10.6.0"
jss-preset-default@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss-preset-default/-/jss-preset-default-10.6.0.tgz#b5471858adede57efd8d139c85dd44601b55dc94"
integrity sha512-TuHDZiuxGLLJ/LIMLAzO5uf2PnLOCR6yF5GHQLPp59YTascmwEldJfR0tuqjKa8B2F/v708ZvzE1Dw0Ao7UIcA==
dependencies:
"@babel/runtime" "^7.3.1"
jss "10.6.0"
jss-plugin-camel-case "10.6.0"
jss-plugin-compose "10.6.0"
jss-plugin-default-unit "10.6.0"
jss-plugin-expand "10.6.0"
jss-plugin-extend "10.6.0"
jss-plugin-global "10.6.0"
jss-plugin-nested "10.6.0"
jss-plugin-props-sort "10.6.0"
jss-plugin-rule-value-function "10.6.0"
jss-plugin-rule-value-observable "10.6.0"
jss-plugin-template "10.6.0"
jss-plugin-vendor-prefixer "10.6.0"
jss@10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/jss/-/jss-10.6.0.tgz#d92ff9d0f214f65ca1718591b68e107be4774149"
integrity sha512-n7SHdCozmxnzYGXBHe0NsO0eUf9TvsHVq2MXvi4JmTn3x5raynodDVE/9VQmBdWFyyj9HpHZ2B4xNZ7MMy7lkw==
dependencies:
"@babel/runtime" "^7.3.1"
csstype "^3.0.2"
indefinite-observable "^2.0.1"
is-in-browser "^1.1.3"
tiny-warning "^1.0.2"
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82"
...
...
@@ -9016,7 +9231,7 @@ prompts@^2.0.1:
kleur "^3.0.3"
sisteransi "^1.0.5"
prop-types@^15.6.2, prop-types@^15.7.2:
prop-types@^15.
5.8, prop-types@^15.6.0, prop-types@^15.
6.2, prop-types@^15.7.2:
version "15.7.2"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"
integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==
...
...
@@ -9222,6 +9437,11 @@ react-dev-utils@^11.0.3:
strip-ansi "6.0.0"
text-table "0.2.0"
react-display-name@^0.2.4:
version "0.2.5"
resolved "https://registry.yarnpkg.com/react-display-name/-/react-display-name-0.2.5.tgz#304c7cbfb59ee40389d436e1a822c17fe27936c6"
integrity sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==
react-dom@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
...
...
@@ -9236,6 +9456,11 @@ react-error-overlay@^6.0.9:
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a"
integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==
react-icons@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.2.0.tgz#6dda80c8a8f338ff96a1851424d63083282630d0"
integrity sha512-rmzEDFt+AVXRzD7zDE21gcxyBizD/3NqjbX6cmViAgdqfJ2UiLer8927/QhhrXQV7dEj/1EGuOTPp7JnLYVJKQ==
react-is@^16.13.1, react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
...
...
@@ -9246,6 +9471,23 @@ react-is@^17.0.1:
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==
react-jss@^10.6.0:
version "10.6.0"
resolved "https://registry.yarnpkg.com/react-jss/-/react-jss-10.6.0.tgz#3d1538d085c55f7b0bc3607a61943f588e56f0f6"
integrity sha512-uCvOHMoQrB+cD8l6K6+gIStqBhTyjPM/55sXHfujlr0E4GclQg0ZR26nyGyh7XB+v9a2FfMp6Y4L2Bc1Z+L1oQ==
dependencies:
"@babel/runtime" "^7.3.1"
"@emotion/is-prop-valid" "^0.7.3"
css-jss "10.6.0"
hoist-non-react-statics "^3.2.0"
is-in-browser "^1.1.3"
jss "10.6.0"
jss-preset-default "10.6.0"
prop-types "^15.6.0"
shallow-equal "^1.2.0"
theming "^3.3.0"
tiny-warning "^1.0.2"
react-redux@^7.2.3:
version "7.2.3"
resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-7.2.3.tgz#4c084618600bb199012687da9e42123cca3f0be9"
...
...
@@ -9358,6 +9600,25 @@ react-scripts@4.0.3:
optionalDependencies:
fsevents "^2.1.3"
react-textarea-autosize@^8.3.2:
version "8.3.3"
resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.3.tgz#f70913945369da453fd554c168f6baacd1fa04d8"
integrity sha512-2XlHXK2TDxS6vbQaoPbMOfQ8GK7+irc2fVK6QFIcC8GOnH3zI/v481n+j1L0WaPVvKxwesnY93fEfH++sus2rQ==
dependencies:
"@babel/runtime" "^7.10.2"
use-composed-ref "^1.0.0"
use-latest "^1.0.0"
react-transition-group@^4.4.2:
version "4.4.2"
resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470"
integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg==
dependencies:
"@babel/runtime" "^7.5.5"
dom-helpers "^5.0.1"
loose-envify "^1.4.0"
prop-types "^15.6.2"
react@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
...
...
@@ -10061,6 +10322,11 @@ sha.js@^2.4.0, sha.js@^2.4.8:
inherits "^2.0.1"
safe-buffer "^5.0.1"
shallow-equal@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da"
integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==
shallowequal@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8"
...
...
@@ -10647,7 +10913,7 @@ svgo@^1.0.0, svgo@^1.2.2:
unquote "~1.1.1"
util.promisify "~1.0.0"
symbol-observable@^1.2.0:
symbol-observable@
1.2.0, symbol-observable@
^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
...
...
@@ -10773,6 +11039,16 @@ text-table@0.2.0, text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
theming@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/theming/-/theming-3.3.0.tgz#dacabf04aa689edde35f1e1c117ec6de73fbf870"
integrity sha512-u6l4qTJRDaWZsqa8JugaNt7Xd8PPl9+gonZaIe28vAhqgHMIG/DOyFPqiKN/gQLQYj05tHv+YQdNILL4zoiAVA==
dependencies:
hoist-non-react-statics "^3.3.0"
prop-types "^15.5.8"
react-display-name "^0.2.4"
tiny-warning "^1.0.2"
throat@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b"
...
...
@@ -10808,7 +11084,7 @@ tiny-invariant@^1.0.2:
resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875"
integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==
tiny-warning@^1.0.0, tiny-warning@^1.0.3:
tiny-warning@^1.0.0, tiny-warning@^1.0.
2, tiny-warning@^1.0.
3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
...
...
@@ -10894,6 +11170,11 @@ tryer@^1.0.1:
resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
ts-essentials@^2.0.3:
version "2.0.12"
resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-2.0.12.tgz#c9303f3d74f75fa7528c3d49b80e089ab09d8745"
integrity sha512-3IVX4nI6B5cc31/GFFE+i8ey/N2eA0CZDbo6n0yrz0zDX8ZJ8djmU1p+XRz7G3is0F3bB3pu2pAroFdAWQKU3w==
ts-pnp@1.2.0, ts-pnp@^1.1.6:
version "1.2.0"
resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92"
...
...
@@ -11161,6 +11442,25 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
use-composed-ref@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.1.0.tgz#9220e4e94a97b7b02d7d27eaeab0b37034438bbc"
integrity sha512-my1lNHGWsSDAhhVAT4MKs6IjBUtG6ZG11uUqexPH9PptiIZDQOzaF4f5tEbJ2+7qvNbtXNBbU3SfmN+fXlWDhg==
dependencies:
ts-essentials "^2.0.3"
use-isomorphic-layout-effect@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.1.tgz#7bb6589170cd2987a152042f9084f9effb75c225"
integrity sha512-L7Evj8FGcwo/wpbv/qvSfrkHFtOpCzvM5yl2KVyDJoylVuSvzphiiasmjgQPttIGBAy2WKiBNR98q8w7PiNgKQ==
use-latest@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.0.tgz#a44f6572b8288e0972ec411bdd0840ada366f232"
integrity sha512-d2TEuG6nSLKQLAfW3By8mKr8HurOlTkul0sOpxbClIv4SQ4iOd7BYr7VIzdbktUCnv7dua/60xzd8igMU6jmyw==
dependencies:
use-isomorphic-layout-effect "^1.0.0"
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
...
...
Please
register
or
login
to post a comment