chore (maintenance): remove dead code
|
|
@ -1,34 +0,0 @@
|
||||||
@mixin ripple($color, $bg:"#ffffff00") {
|
|
||||||
background-position: center;
|
|
||||||
&:hover{
|
|
||||||
transition: background 0.4s;
|
|
||||||
background: unquote($bg) radial-gradient(circle, transparent 1%, $color 1%) center/15000%;
|
|
||||||
}
|
|
||||||
&:active{
|
|
||||||
background-color: #00000033;
|
|
||||||
background-size: 100%;
|
|
||||||
transition: background 0s;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin inlinedInputWithSubmit() {
|
|
||||||
form {
|
|
||||||
display: flex;
|
|
||||||
background: white;
|
|
||||||
border-radius: 2px;
|
|
||||||
box-shadow: 2px 2px 10px rgba(0,0,0,0.1);
|
|
||||||
input {
|
|
||||||
padding: 15px 20px;
|
|
||||||
border-bottom: 0;
|
|
||||||
margin: 0;
|
|
||||||
height: inherit!important;
|
|
||||||
}
|
|
||||||
button {
|
|
||||||
width: inherit;
|
|
||||||
padding: 0 10px;
|
|
||||||
.component_icon {
|
|
||||||
height: 25px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,194 +0,0 @@
|
||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Source Code Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(/assets/fonts/SourceCodePro-Regular-400-latin-ext.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Source Code Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
src: local('Source Code Pro'), local('SourceCodePro-Regular'), url(/assets/fonts/SourceCodePro-Regular-400-latin.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* latin-ext */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Source Code Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 600;
|
|
||||||
src: local('Source Code Pro Semibold'), local('SourceCodePro-Semibold'), url(/assets/fonts/SourceCodePro-Semibold-600-latin-ext.woff2) format('woff2');
|
|
||||||
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* latin */
|
|
||||||
@font-face {
|
|
||||||
font-family: 'Source Code Pro';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 600;
|
|
||||||
src: local('Source Code Pro Semibold'), local('SourceCodePro-Semibold'), url(/assets/fonts/SourceCodePro-Semibold-600-latin.woff2) format('woff2');
|
|
||||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
|
|
||||||
}
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--bg-color: #fafafa;
|
|
||||||
--color: #57595A;
|
|
||||||
--emphasis: #466372;
|
|
||||||
--primary: #9AD1ED;
|
|
||||||
--emphasis-primary: #c5e2f1;
|
|
||||||
--emphasis-secondary: #466372;
|
|
||||||
--light: #909090;
|
|
||||||
--super-light: #f9fafc;
|
|
||||||
--error: #f26d6d;
|
|
||||||
--success: #63d9b1;
|
|
||||||
--dark: #313538;
|
|
||||||
}
|
|
||||||
body.dark-mode {
|
|
||||||
--bg-color: #242424;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
font-family: "Roboto", sans-serif;
|
|
||||||
-webkit-text-size-adjust:100%;
|
|
||||||
font-smoothing: antialiased;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
}
|
|
||||||
body {
|
|
||||||
overflow: hidden;
|
|
||||||
background: var(--bg-color);
|
|
||||||
color: var(--color);
|
|
||||||
}
|
|
||||||
body, html {
|
|
||||||
height: 100%;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
body.dark-mode{ background: var(--bg-color); }
|
|
||||||
body.dark-mode .component_modal > div,
|
|
||||||
body.dark-mode .component_page_admin{ --bg-color: #f2f3f5; }
|
|
||||||
|
|
||||||
.center{
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
color: inherit;
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
select {
|
|
||||||
-webkit-appearance: none;
|
|
||||||
-moz-appearance: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
select:-moz-focusring {
|
|
||||||
color: transparent;
|
|
||||||
outline: none;
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
select::-ms-expand {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
button::-moz-focus-inner {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
input, textarea, select {
|
|
||||||
transition: border 0.2s;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-select {
|
|
||||||
-webkit-touch-callout: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
-khtml-user-select: none;
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
button:focus,
|
|
||||||
a:focus,
|
|
||||||
a:active,
|
|
||||||
button::-moz-focus-inner,
|
|
||||||
input[type="reset"]::-moz-focus-inner,
|
|
||||||
input[type="button"]::-moz-focus-inner,
|
|
||||||
input[type="submit"]::-moz-focus-inner,
|
|
||||||
select::-moz-focus-inner,
|
|
||||||
input[type="file"]>input[type="button"]::-moz-focus-inner {
|
|
||||||
outline: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
select:-moz-focusring {
|
|
||||||
color: transparent;
|
|
||||||
text-shadow: 0 0 0 #000;
|
|
||||||
}
|
|
||||||
|
|
||||||
.connect-form input:hover,
|
|
||||||
.connect-form textarea:hover,
|
|
||||||
.connect-form input:focus,
|
|
||||||
.connect-form textarea:focus {
|
|
||||||
border-color: rgb(154, 209, 237)!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.drag-drop {
|
|
||||||
z-index: 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.drag-drop.dragging>div {
|
|
||||||
background: rgba(0, 0, 0, 0.1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* CONNECTION FORM */
|
|
||||||
|
|
||||||
.login-form button.active {
|
|
||||||
box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.20);
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar {
|
|
||||||
height: 4px;
|
|
||||||
width: 4px
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar-track {
|
|
||||||
background: rgba(0, 0, 0, .1)
|
|
||||||
}
|
|
||||||
|
|
||||||
::-webkit-scrollbar-thumb {
|
|
||||||
-webkit-border-radius: 2px;
|
|
||||||
-moz-border-radius: 2px;
|
|
||||||
-ms-border-radius: 2px;
|
|
||||||
-o-border-radius: 2px;
|
|
||||||
border-radius: 2px;
|
|
||||||
background: rgba(0, 0, 0, .2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.scroll-y {
|
|
||||||
scrollbar-3dlight-color: #7d7e94;
|
|
||||||
scrollbar-arrow-color: #c1c1d1;
|
|
||||||
scrollbar-darkshadow-color: #2d2c4d;
|
|
||||||
scrollbar-face-color: rgba(0, 0, 0, .1);
|
|
||||||
scrollbar-highlight-color: #7d7e94;
|
|
||||||
scrollbar-shadow-color: #2d2c4d;
|
|
||||||
scrollbar-track-color: rgba(0, 0, 0, .1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.pointer {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hidden{
|
|
||||||
position:absolute;
|
|
||||||
left:-10000px;
|
|
||||||
top:auto;
|
|
||||||
width:1px;
|
|
||||||
height:1px;
|
|
||||||
overflow:hidden;
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
.video-js{outline: none;}
|
|
||||||
|
|
||||||
.video-js .vjs-big-play-button:before, .video-js .vjs-control:before, .video-js .vjs-modal-dialog, .vjs-modal-dialog .vjs-modal-dialog-content {
|
|
||||||
position: absolute;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%; }
|
|
||||||
|
|
||||||
.video-js .vjs-big-play-button:before, .video-js .vjs-control:before {
|
|
||||||
text-align: center; }
|
|
||||||
|
|
@ -1,280 +0,0 @@
|
||||||
.video-js.my-skin .vjs-menu-button-inline.vjs-slider-active,.video-js.my-skin .vjs-menu-button-inline:focus,.video-js.my-skin .vjs-menu-button-inline:hover,.video-js.my-skin.vjs-no-flex .vjs-menu-button-inline {
|
|
||||||
width: 10em
|
|
||||||
}
|
|
||||||
.video-js.my-skin .vjs-volume-menu-button{display: none;}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-controls-disabled .vjs-big-play-button {
|
|
||||||
display: none!important
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-control {
|
|
||||||
width: 3em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-menu-button-inline:before {
|
|
||||||
width: 1.5em
|
|
||||||
}
|
|
||||||
|
|
||||||
.vjs-menu-button-inline .vjs-menu {
|
|
||||||
left: 3em
|
|
||||||
}
|
|
||||||
|
|
||||||
.vjs-paused.vjs-has-started.video-js.my-skin .vjs-big-play-button,.video-js.my-skin.vjs-ended .vjs-big-play-button,.video-js.my-skin.vjs-paused .vjs-big-play-button {
|
|
||||||
display: block
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-load-progress div,.vjs-seeking .vjs-big-play-button,.vjs-waiting .vjs-big-play-button {
|
|
||||||
display: none!important
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-mouse-display:after,.video-js.my-skin .vjs-play-progress:after {
|
|
||||||
padding: 0 .4em .3em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.vjs-ended .vjs-loading-spinner {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.vjs-ended .vjs-big-play-button {
|
|
||||||
display: block !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin *,.video-js.my-skin:after,.video-js.my-skin:before {
|
|
||||||
box-sizing: inherit;
|
|
||||||
font-size: inherit;
|
|
||||||
color: inherit;
|
|
||||||
line-height: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.vjs-fullscreen,.video-js.my-skin.vjs-fullscreen .vjs-tech {
|
|
||||||
width: 100%!important;
|
|
||||||
height: 100%!important
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin {
|
|
||||||
font-size: 14px;
|
|
||||||
overflow: hidden
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-control {
|
|
||||||
color: inherit
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-menu-button-inline:hover,.video-js.my-skin.vjs-no-flex .vjs-menu-button-inline {
|
|
||||||
width: 8.35em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-volume-menu-button.vjs-volume-menu-button-horizontal:hover .vjs-menu .vjs-menu-content {
|
|
||||||
height: 3em;
|
|
||||||
width: 6.35em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-control:focus:before,.video-js.my-skin .vjs-control:hover:before {
|
|
||||||
text-shadow: 0 0 5px #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-spacer,.video-js.my-skin .vjs-time-control {
|
|
||||||
display: -webkit-box;
|
|
||||||
display: -moz-box;
|
|
||||||
display: -ms-flexbox;
|
|
||||||
display: -webkit-flex;
|
|
||||||
display: flex;
|
|
||||||
-webkit-box-flex: 1 1 auto;
|
|
||||||
-moz-box-flex: 1 1 auto;
|
|
||||||
-webkit-flex: 1 1 auto;
|
|
||||||
-ms-flex: 1 1 auto;
|
|
||||||
flex: 1 1 auto;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control {
|
|
||||||
-webkit-box-flex: 0 1 auto;
|
|
||||||
-moz-box-flex: 0 1 auto;
|
|
||||||
-webkit-flex: 0 1 auto;
|
|
||||||
-ms-flex: 0 1 auto;
|
|
||||||
flex: 0 1 auto;
|
|
||||||
width: auto
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control.vjs-time-divider {
|
|
||||||
width: 14px
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control.vjs-time-divider div {
|
|
||||||
width: 100%;
|
|
||||||
text-align: center
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control.vjs-current-time {
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control .vjs-current-time-display,.video-js.my-skin .vjs-time-control .vjs-duration-display {
|
|
||||||
width: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control .vjs-current-time-display {
|
|
||||||
text-align: right
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-time-control .vjs-duration-display {
|
|
||||||
text-align: left
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-play-progress:before,.video-js.my-skin .vjs-progress-control .vjs-play-progress:before,.video-js.my-skin .vjs-remaining-time,.video-js.my-skin .vjs-volume-level:after,.video-js.my-skin .vjs-volume-level:before,.video-js.my-skin.vjs-live .vjs-time-control.vjs-current-time,.video-js.my-skin.vjs-live .vjs-time-control.vjs-duration,.video-js.my-skin.vjs-live .vjs-time-control.vjs-time-divider,.video-js.my-skin.vjs-no-flex .vjs-time-control.vjs-remaining-time {
|
|
||||||
display: none
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.vjs-no-flex .vjs-time-control {
|
|
||||||
display: table-cell;
|
|
||||||
width: 4em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-progress-control {
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
right: 0;
|
|
||||||
width: 100%;
|
|
||||||
height: 0.3em;
|
|
||||||
top: -0.3em;
|
|
||||||
-webkit-transition: all .1s ease 0s;
|
|
||||||
-moz-transition: all .1s ease 0s;
|
|
||||||
-ms-transition: all .1s ease 0s;
|
|
||||||
-o-transition: all .1s ease 0s;
|
|
||||||
transition: all .1s ease 0s
|
|
||||||
}
|
|
||||||
.video-js.my-skin .vjs-progress-control:hover {
|
|
||||||
height: 0.8em;
|
|
||||||
top: -0.8em;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-progress-control .vjs-load-progress,.video-js.my-skin .vjs-progress-control .vjs-play-progress,.video-js.my-skin .vjs-progress-control .vjs-progress-holder {
|
|
||||||
height: 100%
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-progress-control .vjs-progress-holder {
|
|
||||||
margin: 0
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-control-bar {
|
|
||||||
-webkit-transition: -webkit-transform .1s ease 0s;
|
|
||||||
-moz-transition: -moz-transform .1s ease 0s;
|
|
||||||
-ms-transition: -ms-transform .1s ease 0s;
|
|
||||||
-o-transition: -o-transform .1s ease 0s;
|
|
||||||
transition: transform .1s ease 0s
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.not-hover.vjs-has-started.vjs-paused.vjs-user-active .vjs-control-bar,.video-js.my-skin.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive .vjs-control-bar,.video-js.my-skin.not-hover.vjs-has-started.vjs-playing.vjs-user-active .vjs-control-bar,.video-js.my-skin.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-control-bar,.video-js.my-skin.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-control-bar {
|
|
||||||
visibility: visible;
|
|
||||||
opacity: 1;
|
|
||||||
-webkit-backface-visibility: hidden;
|
|
||||||
-webkit-transform: translateY(3em);
|
|
||||||
-moz-transform: translateY(3em);
|
|
||||||
-ms-transform: translateY(3em);
|
|
||||||
-o-transform: translateY(3em);
|
|
||||||
transform: translateY(3em);
|
|
||||||
-webkit-transition: -webkit-transform 1s ease 0s;
|
|
||||||
-moz-transition: -moz-transform 1s ease 0s;
|
|
||||||
-ms-transition: -ms-transform 1s ease 0s;
|
|
||||||
-o-transition: -o-transform 1s ease 0s;
|
|
||||||
transition: transform 1s ease 0s
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.not-hover.vjs-has-started.vjs-paused.vjs-user-active .vjs-progress-control,.video-js.my-skin.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive .vjs-progress-control,.video-js.my-skin.not-hover.vjs-has-started.vjs-playing.vjs-user-active .vjs-progress-control,.video-js.my-skin.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-progress-control,.video-js.my-skin.vjs-has-started.vjs-playing.vjs-user-inactive .vjs-progress-control {
|
|
||||||
height: .25em;
|
|
||||||
top: -.25em;
|
|
||||||
pointer-events: none;
|
|
||||||
-webkit-transition: height 1s,top 1s;
|
|
||||||
-moz-transition: height 1s,top 1s;
|
|
||||||
-ms-transition: height 1s,top 1s;
|
|
||||||
-o-transition: height 1s,top 1s;
|
|
||||||
transition: height 1s,top 1s
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.not-hover.vjs-has-started.vjs-paused.vjs-user-active.vjs-fullscreen .vjs-progress-control,.video-js.my-skin.not-hover.vjs-has-started.vjs-paused.vjs-user-inactive.vjs-fullscreen .vjs-progress-control,.video-js.my-skin.not-hover.vjs-has-started.vjs-playing.vjs-user-active.vjs-fullscreen .vjs-progress-control,.video-js.my-skin.not-hover.vjs-has-started.vjs-playing.vjs-user-inactive.vjs-fullscreen .vjs-progress-control,.video-js.my-skin.vjs-has-started.vjs-playing.vjs-user-inactive.vjs-fullscreen .vjs-progress-control {
|
|
||||||
opacity: 0;
|
|
||||||
-webkit-transition: opacity 1s ease 1s;
|
|
||||||
-moz-transition: opacity 1s ease 1s;
|
|
||||||
-ms-transition: opacity 1s ease 1s;
|
|
||||||
-o-transition: opacity 1s ease 1s;
|
|
||||||
transition: opacity 1s ease 1s
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin.vjs-live .vjs-live-control {
|
|
||||||
margin-left: 1em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-big-play-button {
|
|
||||||
top: 50%;
|
|
||||||
left: 50%;
|
|
||||||
margin-left: -1em;
|
|
||||||
margin-top: -1em;
|
|
||||||
width: 2em;
|
|
||||||
height: 2em;
|
|
||||||
line-height: 2em;
|
|
||||||
border: none;
|
|
||||||
border-radius: 50%;
|
|
||||||
font-size: 3.5em;
|
|
||||||
background-color: rgba(0,0,0,.45);
|
|
||||||
color: #fff;
|
|
||||||
-webkit-transition: border-color .4s,outline .4s,background-color .4s;
|
|
||||||
-moz-transition: border-color .4s,outline .4s,background-color .4s;
|
|
||||||
-ms-transition: border-color .4s,outline .4s,background-color .4s;
|
|
||||||
-o-transition: border-color .4s,outline .4s,background-color .4s;
|
|
||||||
transition: border-color .4s,outline .4s,background-color .4s
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-menu-button-popup .vjs-menu {
|
|
||||||
left: -3em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-menu-button-popup .vjs-menu .vjs-menu-content {
|
|
||||||
background-color: transparent;
|
|
||||||
width: 12em;
|
|
||||||
left: -1.5em;
|
|
||||||
padding-bottom: .5em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-menu-button-popup .vjs-menu .vjs-menu-item,.video-js.my-skin .vjs-menu-button-popup .vjs-menu .vjs-menu-title {
|
|
||||||
background-color: #151b17;
|
|
||||||
margin: .3em 0;
|
|
||||||
padding: .5em;
|
|
||||||
border-radius: .3em
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-menu-button-popup .vjs-menu .vjs-menu-item.vjs-selected {
|
|
||||||
background-color: #2483d5
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-big-play-button {
|
|
||||||
background-color: rgba(0,0,0,0.3);
|
|
||||||
font-size: 4em;
|
|
||||||
border-radius: 10px;
|
|
||||||
height: 1.3em !important;
|
|
||||||
line-height: 1.3em !important;
|
|
||||||
margin-top: -0.65em !important
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin:hover .vjs-big-play-button,.video-js.my-skin .vjs-big-play-button:focus,.video-js.my-skin .vjs-big-play-button:active {
|
|
||||||
background-color: rgba(255,255,255,0.23)
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-loading-spinner {
|
|
||||||
border-color: rgba(255,255,255,0.7)
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-control-bar2 {
|
|
||||||
background-color: #fcfcfc
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-control-bar {
|
|
||||||
background-color: rgba(252,252,252,0.19) !important;
|
|
||||||
color: #ffffff;
|
|
||||||
font-size: 12px
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js.my-skin .vjs-play-progress,.video-js.my-skin .vjs-volume-level {
|
|
||||||
background-color: #cccccc
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 482.428 482.429">
|
|
||||||
<path style="fill:#6f6f6f;stroke-width:0.94720054" d="m 239.71038,10.858567 c -29.28633,0.148959 -56.22821,23.158167 -61.13883,51.996129 -0.0359,5.52244 -8.11936,1.523852 -11.81411,2.734301 -21.6593,0.35718 -43.3802,-0.676875 -65.00719,0.438452 -25.743961,2.814896 -47.041084,26.38176 -47.173172,52.292131 -1.722118,22.32277 11.67841,44.77809 32.328768,53.53532 1.502767,7.1355 0.21419,16.11228 0.6438,23.95568 0.110145,75.28311 -0.218433,150.57737 0.16095,225.85367 1.489805,25.85192 23.952414,48.2976 49.805724,49.76687 68.99532,0.27998 138.01654,0.22966 207.01317,0.0247 26.01852,-1.27691 48.7205,-23.83443 50.19249,-49.83767 0.36528,-83.15398 0.0497,-166.32508 0.15538,-249.48558 20.84859,-8.52199 34.59567,-30.97499 32.97936,-53.41131 0.0752,-26.071611 -21.32469,-49.900442 -47.22991,-52.699206 -24.66109,-1.093651 -49.41288,-0.08487 -74.1055,-0.4329 -3.94837,0.612911 -2.30787,-5.374859 -3.87914,-7.978923 -7.2617,-27.587042 -34.37102,-47.8548238 -62.93179,-46.751643 z m 1.50404,28.530717 c 15.47006,-0.305619 30.26667,11.084948 34.03447,26.199713 -22.6834,-0.0059 -45.39692,0.01233 -68.06154,-0.0092 3.80702,-15.070204 18.34117,-26.419823 34.02707,-26.190463 z M 108.67851,94.136363 c 89.45257,0.139166 178.92883,-0.277651 268.36669,0.2072 13.74131,1.418578 23.92664,15.176077 22.26662,28.708317 0.0325,14.55054 -14.07514,26.56026 -28.40492,24.87142 -88.5066,-0.14037 -177.03691,0.28006 -265.5288,-0.20906 C 91.12559,146.24223 80.989285,131.70163 83.181794,117.70168 83.970887,104.7413 95.577131,93.920596 108.67851,94.136363 Z M 366.33,176.47066 c -0.14077,81.42848 0.28062,162.8807 -0.20905,244.29447 -1.43862,13.91151 -15.47685,24.10588 -29.15232,22.27588 -66.19678,-0.14162 -132.41743,0.28175 -198.59945,-0.20906 -13.89169,-1.4488 -24.11909,-15.47575 -22.27216,-29.15786 0,-79.06781 0,-158.13561 0,-237.20343 83.41098,0 166.82198,0 250.23298,0 z" />
|
|
||||||
<path style="fill:#6f6f6f;stroke-width:0.982081" d="m 171.68644,247.47379 c -9.34676,0.15644 -15.74032,9.88805 -14.08673,18.71133 0.12351,47.62701 -0.24401,95.27903 0.17839,142.89087 1.20764,10.97136 15.91803,16.52794 24.07249,9.08425 8.41759,-6.81887 4.47469,-18.88392 5.34774,-28.08138 -0.12439,-43.37127 0.2452,-86.76784 -0.17839,-130.12381 -1.03795,-7.31439 -7.95054,-12.95705 -15.3335,-12.48126 z" />
|
|
||||||
<path style="fill:#6f6f6f;stroke-width:0.982081" d="m 240.50116,247.47379 c -9.34649,0.15616 -15.74067,9.88817 -14.08673,18.71133 0.12352,47.62701 -0.24401,95.27903 0.17839,142.89087 1.80504,17.56489 30.37412,15.34227 29.42023,-2.30176 -0.12333,-48.93642 0.24377,-97.8982 -0.17838,-146.81918 -1.03735,-7.3141 -7.95101,-12.95694 -15.33351,-12.48126 z" />
|
|
||||||
<path style="fill:#6f6f6f;stroke-width:0.982081" d="m 309.31588,247.47379 c -9.34711,0.1553 -15.74314,9.88713 -14.08672,18.71133 0.12354,47.62499 -0.24406,95.27581 0.17838,142.88511 1.19856,10.97321 15.91664,16.53606 24.07058,9.09001 8.41933,-6.81787 4.47366,-18.8842 5.34774,-28.08138 -0.12442,-43.37124 0.24524,-86.76804 -0.17839,-130.12381 -1.03674,-7.31321 -7.95012,-12.95658 -15.33159,-12.48126 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 3 KiB |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 129 129">
|
|
||||||
<path fill="#6F6F6F" d="m119.2,114.3h-109.4c-2.3,0-4.1,1.9-4.1,4.1s1.9,4.1 4.1,4.1h109.5c2.3,0 4.1-1.9 4.1-4.1s-1.9-4.1-4.2-4.1z" />
|
|
||||||
<path fill="#6F6F6F" d="m5.7,78l-.1,19.5c0,1.1 0.4,2.2 1.2,3 0.8,0.8 1.8,1.2 2.9,1.2l19.4-.1c1.1,0 2.1-0.4 2.9-1.2l67-67c1.6-1.6 1.6-4.2 0-5.9l-19.2-19.4c-1.6-1.6-4.2-1.6-5.9-1.77636e-15l-13.4,13.5-53.6,53.5c-0.7,0.8-1.2,1.8-1.2,2.9zm71.2-61.1l13.5,13.5-7.6,7.6-13.5-13.5 7.6-7.6zm-62.9,62.9l49.4-49.4 13.5,13.5-49.4,49.3-13.6,.1 .1-13.5z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 549 B |
|
|
@ -1,213 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="170" viewBox="0 0 300 170" fill="none">
|
|
||||||
<path
|
|
||||||
d="m 52.629905,160.16785 c 1.546,0 2.8,-1.2536 2.8,-2.8 0,-1.5464 -1.254,-2.8 -2.8,-2.8 -1.547,0 -2.8,1.2536 -2.8,2.8 0,1.5464 1.253,2.8 2.8,2.8 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5067"
|
|
||||||
style="fill:#909090;fill-opacity:0.133333" />
|
|
||||||
<path
|
|
||||||
d="m 113.03018,22.393649 c 1.5464,0 2.8,-1.2536 2.8,-2.8 0,-1.5464 -1.2536,-2.8 -2.8,-2.8 -1.5464,0 -2.8,1.2536 -2.8,2.8 0,1.5464 1.2536,2.8 2.8,2.8 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5069"
|
|
||||||
style="fill:#909090;fill-opacity:0.133333" />
|
|
||||||
<path
|
|
||||||
d="m 73.293565,112.46216 c 2.87189,0 5.20003,-2.3281 5.20003,-5.2 0,-2.8719 -2.32814,-5.2 -5.20003,-5.2 -2.87188,0 -5.199995,2.3281 -5.199995,5.2 0,2.8719 2.328115,5.2 5.199995,5.2 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5071"
|
|
||||||
style="fill:#909090;fill-opacity:0.13333334" />
|
|
||||||
<defs
|
|
||||||
id="defs5117">
|
|
||||||
<filter
|
|
||||||
id="filter0_d"
|
|
||||||
x="16.0762"
|
|
||||||
y="12.9575"
|
|
||||||
width="114.8"
|
|
||||||
height="134.60001"
|
|
||||||
filterUnits="userSpaceOnUse"
|
|
||||||
color-interpolation-filters="sRGB">
|
|
||||||
<feFlood
|
|
||||||
flood-opacity="0"
|
|
||||||
result="BackgroundImageFix"
|
|
||||||
id="feFlood5097" />
|
|
||||||
<feColorMatrix
|
|
||||||
in="SourceAlpha"
|
|
||||||
type="matrix"
|
|
||||||
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
||||||
id="feColorMatrix5099" />
|
|
||||||
<feOffset
|
|
||||||
dy="11"
|
|
||||||
id="feOffset5101" />
|
|
||||||
<feGaussianBlur
|
|
||||||
stdDeviation="11"
|
|
||||||
id="feGaussianBlur5103" />
|
|
||||||
<feColorMatrix
|
|
||||||
type="matrix"
|
|
||||||
values="0 0 0 0 0.397708 0 0 0 0 0.47749 0 0 0 0 0.575 0 0 0 0.27 0"
|
|
||||||
id="feColorMatrix5105" />
|
|
||||||
<feBlend
|
|
||||||
mode="normal"
|
|
||||||
in2="BackgroundImageFix"
|
|
||||||
result="effect1_dropShadow"
|
|
||||||
id="feBlend5107" />
|
|
||||||
<feBlend
|
|
||||||
mode="normal"
|
|
||||||
in="SourceGraphic"
|
|
||||||
in2="effect1_dropShadow"
|
|
||||||
result="shape"
|
|
||||||
id="feBlend5109" />
|
|
||||||
</filter>
|
|
||||||
<linearGradient
|
|
||||||
id="paint0_linear"
|
|
||||||
x1="73.453102"
|
|
||||||
y1="21.8619"
|
|
||||||
x2="73.453102"
|
|
||||||
y2="115.534"
|
|
||||||
gradientUnits="userSpaceOnUse">
|
|
||||||
<stop
|
|
||||||
stop-color="#FDFEFF"
|
|
||||||
id="stop5112" />
|
|
||||||
<stop
|
|
||||||
offset="0.9964"
|
|
||||||
stop-color="#ECF0F5"
|
|
||||||
id="stop5114" />
|
|
||||||
</linearGradient>
|
|
||||||
<filter
|
|
||||||
id="filter0_d-7"
|
|
||||||
x="0.39111301"
|
|
||||||
y="35.394798"
|
|
||||||
width="145.595"
|
|
||||||
height="102.8"
|
|
||||||
filterUnits="userSpaceOnUse"
|
|
||||||
color-interpolation-filters="sRGB">
|
|
||||||
<feFlood
|
|
||||||
flood-opacity="0"
|
|
||||||
result="BackgroundImageFix"
|
|
||||||
id="feFlood1227" />
|
|
||||||
<feColorMatrix
|
|
||||||
in="SourceAlpha"
|
|
||||||
type="matrix"
|
|
||||||
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
||||||
id="feColorMatrix1229" />
|
|
||||||
<feOffset
|
|
||||||
dy="11"
|
|
||||||
id="feOffset1231" />
|
|
||||||
<feGaussianBlur
|
|
||||||
stdDeviation="11"
|
|
||||||
id="feGaussianBlur1233" />
|
|
||||||
<feColorMatrix
|
|
||||||
type="matrix"
|
|
||||||
values="0 0 0 0 0.397708 0 0 0 0 0.47749 0 0 0 0 0.575 0 0 0 0.27 0"
|
|
||||||
id="feColorMatrix1235" />
|
|
||||||
<feBlend
|
|
||||||
mode="normal"
|
|
||||||
in2="BackgroundImageFix"
|
|
||||||
result="effect1_dropShadow"
|
|
||||||
id="feBlend1237" />
|
|
||||||
<feBlend
|
|
||||||
mode="normal"
|
|
||||||
in="SourceGraphic"
|
|
||||||
in2="effect1_dropShadow"
|
|
||||||
result="shape"
|
|
||||||
id="feBlend1239" />
|
|
||||||
</filter>
|
|
||||||
</defs>
|
|
||||||
<path
|
|
||||||
d="m 21.220832,92.264016 h -4.9 c -0.3,0 -0.6,0.1 -0.7,0.4 l -2.4,4.3 c -0.1,0.3 -0.1,0.6 0,0.9 l 2.4,4.300004 c 0.1,0.3 0.4,0.4 0.7,0.4 h 4.9 c 0.3,0 0.6,-0.1 0.7,-0.4 l 2.4,-4.300004 c 0.1,-0.3 0.1,-0.6 0,-0.9 l -2.4,-4.3 c -0.1,-0.3 -0.4,-0.4 -0.7,-0.4 z"
|
|
||||||
id="path4"
|
|
||||||
style="fill:#909090;fill-opacity:0.133333" />
|
|
||||||
<path
|
|
||||||
class="file"
|
|
||||||
d="m 271.09259,11.652312 -7.37019,3.583918 c -0.76194,0.431116 -1.70491,0.583501 -2.57246,0.605222 -0.86754,0.02172 -1.78791,-0.161244 -2.63285,-0.474867 -1.61444,-0.757898 -3.0554,-2.112442 -3.93815,-3.841509 0,0 -1.50896,-3.3100372 -3.07075,-6.8247745 l -0.23388,-0.4834368 -15.96253,7.5074693 c -2.54223,1.145271 -3.61329,4.185144 -2.51928,6.732998 l 11.52855,25.644074 c 1.09402,2.547855 4.089,3.580205 6.63125,2.434931 l 25.59584,-12.049402 c 2.54224,-1.145275 3.61331,-4.185143 2.5193,-6.732998 L 271.70365,11.48249 Z"
|
|
||||||
style="clip-rule:evenodd;fill:#909090;fill-opacity:0.13333334;fill-rule:evenodd;stroke-width:1.49471"
|
|
||||||
id="path6" />
|
|
||||||
<path
|
|
||||||
class="file"
|
|
||||||
d="m 259.41468,12.923368 c -1.10144,-0.461713 -1.97659,-1.31538 -2.62543,-2.561005 l -0.0528,-0.2047 -0.28668,-0.6881472 -1.04119,-2.343158 -0.57341,-1.376276 13.00599,4.7217702 -5.15993,2.421202 c -0.48277,0.243866 -1.01841,0.283028 -1.55401,0.322196 -0.53564,0.03916 -1.12406,-0.126364 -1.71249,-0.291899 z"
|
|
||||||
style="clip-rule:evenodd;fill:#909090;fill-opacity:0.13333334;fill-rule:evenodd;stroke-width:1.49471"
|
|
||||||
id="path8" />
|
|
||||||
<path
|
|
||||||
d="m 23.944403,17.635563 c -2.077419,1.199415 -2.474669,3.832798 -1.303579,5.861202 l 11.157969,19.326133 c 1.26869,2.197435 3.53196,2.919135 5.66264,1.688975 l 24.34312,-14.054491 c 1.38496,-0.79961 1.92411,-3.064169 0.62288,-5.317939 L 54.928543,8.6868627 c -1.04099,-1.803011 -3.07654,-2.130313 -4.46146,-1.330734 l -12.51782,7.2271693 -4.94944,-2.175869 z"
|
|
||||||
id="path16"
|
|
||||||
style="fill:#909090;fill-opacity:0.13333334;stroke-width:0.632594" />
|
|
||||||
<g
|
|
||||||
id="g20"
|
|
||||||
transform="translate(243.28104,131.07346)"
|
|
||||||
style="fill:#909090;fill-opacity:0.13333334">
|
|
||||||
<path
|
|
||||||
d="m 42.4,23.2 8.6,9.9 c 0.3,0.3 0.1,0.8 -0.3,0.9 L 38,36.2 c -0.4,0.1 -0.7,-0.3 -0.6,-0.7 l 4.1,-12.1 c 0.1,-0.4 0.7,-0.5 0.9,-0.2 z"
|
|
||||||
id="path18"
|
|
||||||
style="fill:#909090;fill-opacity:0.13333334" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="m 286.08832,85.7161 -2,1 c -0.3,0.1 -0.6,0 -0.8,-0.3 l -1,-2 c -0.1,-0.3 0,-0.6 0.3,-0.8 l 2,-1 c 0.3,-0.1 0.6,0 0.8,0.3 l 1,2 c 0.1,0.3 0,0.7 -0.3,0.8 z"
|
|
||||||
id="path10"
|
|
||||||
style="fill:#909090;fill-opacity:0.133333" />
|
|
||||||
<path
|
|
||||||
d="m 111.3581,67.893483 h 72.0997 c 2.9,0 5.1,2.2 5.1,5.1 v 45.699997 c 0,2.9 -2.2,5.1 -5.1,5.1 h -72.0997 c -2.9,0 -5.1,-2.2 -5.1,-5.1 V 72.993483 c 0,-2.9 2.4,-5.1 5.1,-5.1 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1199" />
|
|
||||||
<g
|
|
||||||
filter="url(#filter0_d)"
|
|
||||||
id="g1203"
|
|
||||||
style="filter:url(#filter0_d-7)"
|
|
||||||
transform="translate(76.4668,31.198683)">
|
|
||||||
<path
|
|
||||||
d="M 117.691,46.4948 H 87.2911 c -3,0 -5.8,1 -8.1,2.9 l -8,6.5 c -2.2,1.8 -5.1,2.9 -8.1,2.9 h -34.4 c -3.5,0 -6.3,2.9 -6.3,6.3 0,0.3 0,0.6 0.1,0.9 l 6.3,33.7 c 0.5,3.2002 3.2,5.5002 6.3,5.5002 h 73.5999 c 3.2,0 5.8,-2.2 6.3,-5.4002 l 8.9,-46.1 c 0.6,-3.5 -1.7,-6.6 -5.2,-7.3 -0.3,0.1 -0.7,0.1 -1,0.1 z"
|
|
||||||
fill="#ffffff"
|
|
||||||
id="path1201" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="m 135.3581,112.59358 c 1.8,0 3.3,-1.5 3.3,-3.3 0,-1.8 -1.5,-3.3 -3.3,-3.3 -1.8,0 -3.3,1.5 -3.3,3.3 0,1.8 1.5,3.3 3.3,3.3 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1205" />
|
|
||||||
<path
|
|
||||||
d="m 161.0581,112.49348 c 1.8,0 3.3,-1.5 3.3,-3.3 0,-1.8 -1.5,-3.3 -3.3,-3.3 -1.8,0 -3.3,1.5 -3.3,3.3 0,1.9 1.5,3.3 3.3,3.3 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1207" />
|
|
||||||
<path
|
|
||||||
d="m 144.158,88.893481 c -3.6,-7 -4.4,-15.399998 -2,-22.999998 2.3,-7.6 7.8,-14.1 14.6,-17.8 2.1,-1.1 4.5,-2 6.9,-2.1 2.4,-0.1 5,0.7 6.6,2.7 1.6,1.8 1.9,4.8 0.6,6.8 -1.4,1.9 -4.2,2.7 -6.5,2.1 -3.7,-0.7 -6.7,-3.6 -7.6,-7.1 -0.9,-3.5 0.3,-7.6 3.1,-9.9 1.8,-1.6 4.3,-2.5 6.6,-3.2 11.1998,-3.3 23.3998,-3.7 34.7998,-1.2"
|
|
||||||
stroke="#57595a"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-miterlimit="10"
|
|
||||||
stroke-dasharray="4, 4"
|
|
||||||
id="path1209" />
|
|
||||||
<path
|
|
||||||
d="m 151.358,116.09348 h -6.2 v 1.5 h 6.2 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1211" />
|
|
||||||
<path
|
|
||||||
d="m 207.2578,33.593433 c -0.1,1.5 -0.2,2.9 -1.3,3.2 -1.1,0.3 -1.6,-0.7 -2.3,-2.1 -0.7,-1.3 -0.3,-2.699996 0.9,-2.999996 1.1,-0.3 2.9,0.1 2.7,1.899996 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1213" />
|
|
||||||
<path
|
|
||||||
d="m 206.0578,40.793453 c 0.3,-1.8 0.6,-2.8 -0.4,-3.3 -1.1,-0.5 -1.8,0.4 -3,1.6 -1,1.1 -0.4,2.70003 0.6,3.20003 1.2,0.6 2.5,0 2.8,-1.50003 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1215" />
|
|
||||||
<path
|
|
||||||
d="m 207.4578,37.493533 c -0.1,0.7 -0.6,1.2 -1.3,1.3 -0.3,0 -0.6,0 -1,0 -1.4,-0.2 -2.5,-1.1 -2.4,-2 0.1,-0.9 1.4,-1.4 3,-1.2 0.3,0 0.6,0.1 0.8,0.2 0.6,0.2 1,0.9 0.9,1.7 0,0 0,-0.1 0,0 z"
|
|
||||||
fill="#57595a"
|
|
||||||
id="path1217" />
|
|
||||||
<path
|
|
||||||
d="m 95.8579,65.593483 c 0,-1.7 0,-3.4 1.2,-3.9 1.3,-0.5 2,0.7 3,2.4 0.9,1.5 0.5,3.1 -0.8,3.6 -1.1,0.5 -3.4,0.2 -3.4,-2.1 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1219" />
|
|
||||||
<path
|
|
||||||
d="m 96.5579,57.193583 c -0.2,2.1 -0.5,3.3 0.8,3.8 1.3,0.5 2,-0.6 3.3,-2.2 1,-1.4 0.3,-3.2 -1,-3.7 -1.3,-0.5 -2.9,0.4 -3.1,2.1 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path1221" />
|
|
||||||
<path
|
|
||||||
d="m 95.458,61.193583 c 0,-0.8 0.6,-1.4 1.3,-1.5 0.3,-0.1 0.7,-0.1 1.1,0 1.6,0.1 3,1 2.9,2 -0.1,1 -1.4,1.7 -3.1,1.5 -0.3,0 -0.6,-0.1 -0.9,-0.2 -0.8,-0.1 -1.3,-0.9 -1.3,-1.8 z"
|
|
||||||
fill="#57595a"
|
|
||||||
id="path1223" />
|
|
||||||
<path
|
|
||||||
d="m 102.2581,61.493583 c 10.5,0 29.9,6.1 30.2,28.499998"
|
|
||||||
stroke="#57595a"
|
|
||||||
stroke-width="2"
|
|
||||||
stroke-miterlimit="10"
|
|
||||||
stroke-dasharray="4, 4"
|
|
||||||
id="path1225" />
|
|
||||||
<path
|
|
||||||
d="m 175.07841,4.158838 h -2.98808 c -0.18294,0 -0.36588,0.065003 -0.42687,0.2600102 l -1.46354,2.7951101 c -0.061,0.195007 -0.061,0.390015 0,0.585023 l 1.46354,2.7951107 c 0.061,0.195008 0.24393,0.260011 0.42687,0.260011 h 2.98808 c 0.18294,0 0.36589,-0.065 0.42687,-0.260011 l 1.46355,-2.7951107 c 0.061,-0.195008 0.061,-0.390016 0,-0.585023 l -1.46355,-2.7951101 c -0.061,-0.1950076 -0.24393,-0.2600102 -0.42687,-0.2600102 z"
|
|
||||||
id="path4-5"
|
|
||||||
style="fill:#909090;fill-opacity:0.133333;stroke-width:0.629598" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 9.5 KiB |
|
|
@ -1,161 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="300" height="170" viewBox="0 0 300 170" fill="none">
|
|
||||||
<path
|
|
||||||
d="m 185.79369,58.561964 c 2.264,0 4.1,-1.8356 4.1,-4.1 0,-2.2644 -1.836,-4.1 -4.1,-4.1 -2.265,0 -4.1,1.8356 -4.1,4.1 0,2.2644 1.835,4.1 4.1,4.1 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5065"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
<path
|
|
||||||
d="m 191.79369,42.562064 c 1.546,0 2.8,-1.2536 2.8,-2.8 0,-1.5464 -1.254,-2.8 -2.8,-2.8 -1.547,0 -2.8,1.2536 -2.8,2.8 0,1.5464 1.253,2.8 2.8,2.8 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5067"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
<path
|
|
||||||
d="m 90.393595,58.461964 c 1.5464,0 2.8,-1.2536 2.8,-2.8 0,-1.5464 -1.2536,-2.8 -2.8,-2.8 -1.5464,0 -2.8,1.2536 -2.8,2.8 0,1.5464 1.2536,2.8 2.8,2.8 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5069"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
<path
|
|
||||||
d="m 73.293565,112.46216 c 2.87189,0 5.20003,-2.3281 5.20003,-5.2 0,-2.8719 -2.32814,-5.2 -5.20003,-5.2 -2.87188,0 -5.199995,2.3281 -5.199995,5.2 0,2.8719 2.328115,5.2 5.199995,5.2 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path5071"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
<g
|
|
||||||
filter="url(#filter0_d)"
|
|
||||||
id="g5075"
|
|
||||||
transform="translate(67.546695,22.315564)">
|
|
||||||
<path
|
|
||||||
d="m 108.076,46.2575 0.8,64.4005 c 0,2.2 -1.8,3.9 -4,3.9 H 42.0762 c -2.2,0 -4,-1.8 -4,-3.9 V 27.8575 c 0,-2.2 1.8,-3.9 4,-3.9 h 45.5 z"
|
|
||||||
fill="#ffffff"
|
|
||||||
id="path5073" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="m 138.32279,59.772964 h -22.1 c -0.7,0 -1.3,-0.6 -1.3,-1.3 0,-0.7 0.6,-1.3 1.3,-1.3 h 22.1 c 0.7,0 1.3,0.6 1.3,1.3 0,0.7 -0.6,1.3 -1.3,1.3 z"
|
|
||||||
fill="#f2f3f5"
|
|
||||||
id="path5077"
|
|
||||||
style="fill:#f2f3f5;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
d="m 127.82279,66.973164 h -11.6 c -0.7,0 -1.3,-0.6 -1.3,-1.3 0,-0.7 0.6,-1.3 1.3,-1.3 h 11.5 c 0.7,0 1.3,0.6 1.3,1.3 0,0.7 -0.6,1.3 -1.2,1.3 z"
|
|
||||||
fill="#f2f3f5"
|
|
||||||
id="path5079" />
|
|
||||||
<path
|
|
||||||
d="m 155.12289,46.273064 v 17.8 c 0,2.5 2.2,4.5 4.7,4.5 h 15.7998"
|
|
||||||
fill="#f2f3f5"
|
|
||||||
id="path5081" />
|
|
||||||
<path
|
|
||||||
d="m 124.85609,59.538264 4.7516,-16.76 19.5166,2.248 -6.8139,10.9224 5.2778,4.2167 -11.3628,24.8537 0.6331,-19.2416 z"
|
|
||||||
fill="var(--bg-color_"
|
|
||||||
id="path5083" />
|
|
||||||
<defs
|
|
||||||
id="defs5117">
|
|
||||||
<filter
|
|
||||||
id="filter0_d"
|
|
||||||
x="16.0762"
|
|
||||||
y="12.9575"
|
|
||||||
width="114.8"
|
|
||||||
height="134.60001"
|
|
||||||
filterUnits="userSpaceOnUse"
|
|
||||||
color-interpolation-filters="sRGB">
|
|
||||||
<feFlood
|
|
||||||
flood-opacity="0"
|
|
||||||
result="BackgroundImageFix"
|
|
||||||
id="feFlood5097" />
|
|
||||||
<feColorMatrix
|
|
||||||
in="SourceAlpha"
|
|
||||||
type="matrix"
|
|
||||||
values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"
|
|
||||||
id="feColorMatrix5099" />
|
|
||||||
<feOffset
|
|
||||||
dy="11"
|
|
||||||
id="feOffset5101" />
|
|
||||||
<feGaussianBlur
|
|
||||||
stdDeviation="11"
|
|
||||||
id="feGaussianBlur5103" />
|
|
||||||
<feColorMatrix
|
|
||||||
type="matrix"
|
|
||||||
values="0 0 0 0 0.397708 0 0 0 0 0.47749 0 0 0 0 0.575 0 0 0 0.27 0"
|
|
||||||
id="feColorMatrix5105" />
|
|
||||||
<feBlend
|
|
||||||
mode="normal"
|
|
||||||
in2="BackgroundImageFix"
|
|
||||||
result="effect1_dropShadow"
|
|
||||||
id="feBlend5107" />
|
|
||||||
<feBlend
|
|
||||||
mode="normal"
|
|
||||||
in="SourceGraphic"
|
|
||||||
in2="effect1_dropShadow"
|
|
||||||
result="shape"
|
|
||||||
id="feBlend5109" />
|
|
||||||
</filter>
|
|
||||||
<linearGradient
|
|
||||||
id="paint0_linear"
|
|
||||||
x1="73.453102"
|
|
||||||
y1="21.8619"
|
|
||||||
x2="73.453102"
|
|
||||||
y2="115.534"
|
|
||||||
gradientUnits="userSpaceOnUse">
|
|
||||||
<stop
|
|
||||||
stop-color="#FDFEFF"
|
|
||||||
id="stop5112" />
|
|
||||||
<stop
|
|
||||||
offset="0.9964"
|
|
||||||
stop-color="#ECF0F5"
|
|
||||||
id="stop5114" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<path
|
|
||||||
d="m 180.18337,143.15046 c -1,0 -2,-0.4 -2.8,-1.3 l -16.6996,-16.7003 -0.6,0.4 c -5.4,4 -11.7,6.1 -18.1,6.1 -7.7,0 -15.4,-3.1 -21.1,-8.5 -5.99999,-5.69999 -9.29999,-13.39999 -9.29999,-21.79999 0,-16.700003 13.59999,-30.300003 30.29999,-30.300003 11.4,0 21.4,6 26.8,16.2 5.2996,10.1 4.5996,21.900003 -1.9,31.400003 l -0.4,0.6 16.7996,16.79999 c 1.7,1.7 1.3,3.4003 1,4.3003 -0.8,1.6 -2.4,2.8 -4,2.8 z m -38.2996,-63.800293 c -12.2,0 -21.99999,9.9 -21.99999,22.000003 0,13.8 11.29999,22.09999 22.29999,22.09999 6.7,0 12.8,-2.99999 17.1,-8.39999 5.3,-6.6 6.2,-15.500003 2.5,-23.200003 -3.8,-7.7 -11.4,-12.5 -19.9,-12.5 z"
|
|
||||||
fill="#57595a"
|
|
||||||
id="path4523" />
|
|
||||||
<path
|
|
||||||
d="m 132.38377,104.95027 c 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.3 1.1,2.4 2.4,2.4 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path4525" />
|
|
||||||
<path
|
|
||||||
d="m 150.78377,104.95027 c 1.3,0 2.4,-1.1 2.4,-2.4 0,-1.3 -1.1,-2.4 -2.4,-2.4 -1.3,0 -2.4,1.1 -2.4,2.4 0,1.4 1.1,2.4 2.4,2.4 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path4527" />
|
|
||||||
<path
|
|
||||||
d="m 132.28997,94.610067 -5.2795,2.8505 0.7127,1.3199 5.2794,-2.8506 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path4529" />
|
|
||||||
<path
|
|
||||||
d="m 150.45737,94.572267 -0.7125,1.32 5.28,2.85 0.7125,-1.32 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path4531" />
|
|
||||||
<path
|
|
||||||
d="m 141.58367,110.55027 c 1.5464,0 2.8,-0.9402 2.8,-2.1 0,-1.1598 -1.2536,-2.1 -2.8,-2.1 -1.5464,0 -2.8,0.9402 -2.8,2.1 0,1.1598 1.2536,2.1 2.8,2.1 z"
|
|
||||||
fill="#909090"
|
|
||||||
id="path4533" />
|
|
||||||
<path
|
|
||||||
d="M 12.082154,141.54408 H 7.1821544 c -0.3,0 -0.6,0.1 -0.7,0.4 l -2.4,4.3 c -0.1,0.3 -0.1,0.6 0,0.9 l 2.4,4.3 c 0.1,0.3 0.4,0.4 0.7,0.4 h 4.8999996 c 0.3,0 0.6,-0.1 0.7,-0.4 l 2.4,-4.3 c 0.1,-0.3 0.1,-0.6 0,-0.9 l -2.4,-4.3 c -0.1,-0.3 -0.4,-0.4 -0.7,-0.4 z"
|
|
||||||
id="path4"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
<path
|
|
||||||
class="file"
|
|
||||||
d="m 271.09259,11.652312 -7.37019,3.583918 c -0.76194,0.431116 -1.70491,0.583501 -2.57246,0.605222 -0.86754,0.02172 -1.78791,-0.161244 -2.63285,-0.474867 -1.61444,-0.757898 -3.0554,-2.112442 -3.93815,-3.841509 0,0 -1.50896,-3.3100372 -3.07075,-6.8247745 l -0.23388,-0.4834368 -15.96253,7.5074693 c -2.54223,1.145271 -3.61329,4.185144 -2.51928,6.732998 l 11.52855,25.644074 c 1.09402,2.547855 4.089,3.580205 6.63125,2.434931 l 25.59584,-12.049402 c 2.54224,-1.145275 3.61331,-4.185143 2.5193,-6.732998 L 271.70365,11.48249 Z"
|
|
||||||
style="clip-rule:evenodd;fill:#909090;fill-opacity:0.2;fill-rule:evenodd;stroke-width:1.49471"
|
|
||||||
id="path6" />
|
|
||||||
<path
|
|
||||||
class="file"
|
|
||||||
d="m 259.41468,12.923368 c -1.10144,-0.461713 -1.97659,-1.31538 -2.62543,-2.561005 l -0.0528,-0.2047 -0.28668,-0.6881472 -1.04119,-2.343158 -0.57341,-1.376276 13.00599,4.7217702 -5.15993,2.421202 c -0.48277,0.243866 -1.01841,0.283028 -1.55401,0.322196 -0.53564,0.03916 -1.12406,-0.126364 -1.71249,-0.291899 z"
|
|
||||||
style="clip-rule:evenodd;fill:#909090;fill-opacity:0.2;fill-rule:evenodd;stroke-width:1.49471"
|
|
||||||
id="path8" />
|
|
||||||
<path
|
|
||||||
d="m 23.944403,17.635563 c -2.077419,1.199415 -2.474669,3.832798 -1.303579,5.861202 l 11.157969,19.326133 c 1.26869,2.197435 3.53196,2.919135 5.66264,1.688975 l 24.34312,-14.054491 c 1.38496,-0.79961 1.92411,-3.064169 0.62288,-5.317939 L 54.928543,8.6868627 c -1.04099,-1.803011 -3.07654,-2.130313 -4.46146,-1.330734 l -12.51782,7.2271693 -4.94944,-2.175869 z"
|
|
||||||
id="path16"
|
|
||||||
style="fill:#909090;fill-opacity:0.2;stroke-width:0.632594" />
|
|
||||||
<g
|
|
||||||
id="g20"
|
|
||||||
transform="translate(243.28104,131.07346)"
|
|
||||||
style="fill:#909090;fill-opacity:0.2">
|
|
||||||
<path
|
|
||||||
d="m 42.4,23.2 8.6,9.9 c 0.3,0.3 0.1,0.8 -0.3,0.9 L 38,36.2 c -0.4,0.1 -0.7,-0.3 -0.6,-0.7 l 4.1,-12.1 c 0.1,-0.4 0.7,-0.5 0.9,-0.2 z"
|
|
||||||
id="path18"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="m 223.0733,92.373031 -2,1 c -0.3,0.1 -0.6,0 -0.8,-0.3 l -1,-2 c -0.1,-0.3 0,-0.6 0.3,-0.8 l 2,-1 c 0.3,-0.1 0.6,0 0.8,0.3 l 1,2 c 0.1,0.3 0,0.7 -0.3,0.8 z"
|
|
||||||
id="path10"
|
|
||||||
style="fill:#909090;fill-opacity:0.2" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 7.5 KiB |
|
|
@ -1,6 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
|
|
||||||
<path style="color:#000000;text-indent:0;text-transform:none;fill:#8c8c8c;fill-opacity:1;stroke-width:0.98481041" d="m 2,13.082412 0.019462,1.492347 c 5e-6,0.222145 0.2055902,0.424262 0.4311502,0.424272 L 13.589612,15 C 13.815173,14.999995 13.99999,14.797874 14,14.575729 v -1.493317 c -4.1718692,0.662023 -7.6516928,0.398696 -12,0 z" />
|
|
||||||
<path style="color:#000000;text-indent:0;text-transform:none;display:inline;fill:#aaaaaa;stroke-width:0.98408127" d="M 2.3501,1.0013312 C 2.15259,1.0383247 1.99659,1.2272723 2.00009,1.4249356 V 14.133457 c 5e-6,0.221816 0.20523,0.423634 0.43079,0.423644 l 11.139,-1.01e-4 c 0.22556,-6e-6 0.43011,-0.200758 0.43012,-0.422574 l 6.7e-4,-9.8226426 c -2.484046,-1.355006 -2.435234,-2.0312254 -3.5001,-3.309707 -0.043,-0.015882 0.046,0.00174 0,0 L 2.43067,1.001108 C 2.40383,0.99859 2.37674,0.99859 2.3499,1.001108 Z" />
|
|
||||||
<path style="display:inline;fill:#8c8c8c;fill-opacity:1;stroke:#9e7575;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 10.50057,1.0020764 c 0,3.2768028 -0.0052,3.1739161 0.362921,3.2698202 0.280109,0.072984 3.13718,0.039887 3.13718,0.039887 -1.120067,-1.0556692 -2.3334,-2.2064713 -3.5001,-3.3097074 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16">
|
|
||||||
<g transform="matrix(0.86666431,0,0,0.86667,-172.04578,-864.32759)" style="fill:#75bbd9;fill-opacity:0.94117647;fill-rule:evenodd">
|
|
||||||
<path style="fill:#75bbd9;fill-opacity:0.94117647;fill-rule:evenodd" d="m 200.2,999.72 c -0.28913,0 -0.53125,0.2421 -0.53125,0.5312 v 12.784 c 0,0.2985 0.23264,0.5312 0.53125,0.5312 h 15.091 c 0.2986,0 0.53124,-0.2327 0.53124,-0.5312 l 4e-4,-10.474 c 0,-0.2889 -0.24211,-0.5338 -0.53124,-0.5338 l -7.5457,5e-4 -2.3076,-2.30783 z" />
|
|
||||||
</g>
|
|
||||||
<g transform="matrix(0.86667,0,0,0.86667,-172.04692,-864.7834)" style="fill:#9ad1ed;fill-opacity:1;fill-rule:evenodd">
|
|
||||||
<path style="fill:#9ad1ed;fill-opacity:1;fill-rule:evenodd" d="m 200.2,999.72 c -0.28913,0 -0.53125,0.2421 -0.53125,0.5312 v 12.784 c 0,0.2985 0.23264,0.5312 0.53125,0.5312 h 15.091 c 0.2986,0 0.53124,-0.2327 0.53124,-0.5312 l 4e-4,-10.474 c 0,-0.2889 -0.24211,-0.5338 -0.53124,-0.5338 l -7.5457,5e-4 -2.3076,-2.30783 z" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1 KiB |
|
Before Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
|
@ -1,11 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 210 297">
|
|
||||||
<g style="fill:#6f6f6f;fill-opacity:0.06640625;stroke:#6f6f6f;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
|
|
||||||
<circle cx="171.96956" cy="70.839935" r="28.324646" />
|
|
||||||
<circle cx="171.96956" cy="225.38493" r="28.324646" />
|
|
||||||
<circle cx="38.030434" cy="148.11235" r="28.324646" />
|
|
||||||
</g>
|
|
||||||
<g style="fill:none;stroke:#6f6f6f;stroke-width:20;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1">
|
|
||||||
<path d="M 65.35794,134.60213 149.47465,83.197409" />
|
|
||||||
<path d="m 61.46365,160.30446 86.45329,50.62581" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 672 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 129 129" style="fill:#6f6f6f;stroke:#6f6f6f;">
|
|
||||||
<path d="m 51.741297,117.22165 c -2.466177,0 -4.788482,-0.96594 -6.535367,-2.69223 L 13.885528,83.208986 c -1.726339,-1.746857 -2.692249,-4.069156 -2.692249,-6.535348 0,-2.466185 0.96591,-4.788492 2.692249,-6.535368 L 66.764417,17.259402 c 3.000527,-3.000523 8.446629,-5.261167 12.700782,-5.261167 h 27.703341 c 5.09681,0 9.24816,4.151389 9.24816,9.227587 v 27.703353 c 0,4.233618 -2.26065,9.700278 -5.26116,12.700812 L 58.276658,114.50887 c -1.746869,1.74684 -4.04863,2.71278 -6.535361,2.71278 z M 79.465199,18.163668 c -2.548374,0 -6.535359,1.644105 -8.32334,3.452635 L 18.262982,74.495181 c -0.575448,0.575452 -0.883718,1.356397 -0.883718,2.178457 0,0.8426 0.328824,1.603006 0.883718,2.178453 l 31.320416,31.320439 c 0.575435,0.5754 1.356403,0.88368 2.178452,0.88368 0.842611,0 1.603015,-0.32882 2.178449,-0.88368 L 106.8192,57.293642 c 1.80851,-1.808537 3.45264,-5.774997 3.45264,-8.343889 V 21.246394 c 0,-1.705772 -1.37695,-3.082726 -3.08273,-3.082726 z" style="stroke-width:2.2;" />
|
|
||||||
<circle cx="142.1252" cy="101.61908" r="28.324646" style="fill-opacity:0;stroke-width:20;" transform="matrix(0.38692388,0,0,0.38692388,30.309631,2.968202)" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 21 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.2" d="m 459.7,194.55 c 22.3,-20.5 36.3,-49.9 36.3,-82.6 0,-61.9 -50.1,-112 -112,-112 -45.3,0 -84.3,26.8 -101.9,65.5 -17.3,-2 -34.9,-2 -52.2,0 -17.6,-38.7 -56.6,-65.5 -101.9,-65.5 -61.9,0 -112,50.1 -112,112 0,32.7 14,62.1 36.3,82.6 -13,28.4 -20.3,60.1 -20.3,93.4 0,53.2 18.6,102.1 49.5,140.5 L 39,470.95 c -9.4,9.4 -9.4,24.6 0,33.9 9.4,9.4 24.6,9.4 33.9,0 l 42.5,-42.5 c 81.5,65.7 198.7,66.4 281,0 l 42.6,42.6 c 9.4,9.4 24.6,9.4 33.9,0 9.4,-9.4 9.4,-24.6 0,-33.9 l -42.5,-42.5 c 31,-38.4 49.5,-87.3 49.5,-140.5 0.1,-33.4 -7.2,-65.1 -20.2,-93.5 z M 384,47.95 c 35.3,0 64,28.7 64,64 0,15.1 -5.3,29 -14,39.9 -26.2,-34.2 -62,-60.6 -103.3,-75.2 11.4,-17.3 31,-28.7 53.3,-28.7 z m -320,64 c 0,-35.3 28.7,-64 64,-64 22.3,0 41.9,11.4 53.4,28.7 -41.4,14.6 -77.2,41 -103.3,75.2 C 69.3,140.95 64,127.05 64,111.95 Z m 192,352 c -97.3,0 -176,-78.7 -176,-176 0,-97 78.4,-176 176,-176 97.4,0 176,78.8 176,176 0,97.3 -78.7,176 -176,176 z m 46.2,-95.7 -69,-47.5 c -3.3,-2.2 -5.2,-5.9 -5.2,-9.9 v -130.9 c 0,-6.6 5.4,-12 12,-12 h 32 c 6.6,0 12,5.4 12,12 v 107.7 l 50,34.4 c 5.5,3.8 6.8,11.2 3.1,16.7 l -18.1,26.4 c -3.8,5.4 -11.3,6.8 -16.8,3.1 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.2 KiB |
|
|
@ -1,7 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 512">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.18205023" d="m 102.77376,57.71175 v 259.88716 h -79.7 c -17.7999996,0 -26.9165146,14.53938 -14.0999996,30.87906 L 123.17376,494.07066 c 7.62888,9.726 19.67112,9.726 27.3,0 l 114.2,-145.59269 c 12.81652,-16.33968 3.7,-30.87906 -14.1,-30.87906 h -79.8 V 57.71175 c 0,-18.58333 -13.5475,-27.48437 -24,-33.53383 -6.1592,-3.56467 -20,0 -20,0 -13.3,0 -23.86429,14.95148 -24,33.53383 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083" d="M 417.23298,74.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083" d="M 417.23298,172.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083"
|
|
||||||
d="M 417.23298,270.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,6 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 512">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.18205023" d="m 102.77376,57.71175 v 259.88716 h -79.7 c -17.7999996,0 -26.9165146,14.53938 -14.0999996,30.87906 L 123.17376,494.07066 c 7.62888,9.726 19.67112,9.726 27.3,0 l 114.2,-145.59269 c 12.81652,-16.33968 3.7,-30.87906 -14.1,-30.87906 h -79.8 V 57.71175 c 0,-18.58333 -13.5475,-27.48437 -24,-33.53383 -6.1592,-3.56467 -20,0 -20,0 -13.3,0 -23.86429,14.95148 -24,33.53383 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083" d="M 417.23298,74.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:0.98952353" d="M 367.87619,172.09757 H 234.71087 c -13.02278,0 -23.49976,-6.7 -23.49976,-20 v -12 c 0,-13.3 10.47698,-20 23.49976,-20 h 133.16532 c 13.02279,0 23.49976,6.7 23.49976,20 v 12 c 0,13.3 -10.47697,20 -23.49976,20 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:0.79045671" d="m 311.18259,270.09757 h -84.97576 c -8.31013,0 -14.99572,-6.7 -14.99572,-20 v -12 c 0,-13.3 6.68559,-20 14.99572,-20 h 84.97576 c 8.31013,0 14.99571,6.7 14.99571,20 v 12 c 0,13.3 -6.68558,20 -14.99571,20 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,7 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 450 512">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.18205023" d="M 102.77376,466.24703 V 206.35987 h -79.7 c -17.7999996,0 -26.9165146,-14.53938 -14.0999996,-30.87906 L 123.17376,29.888122 c 7.62888,-9.726 19.67112,-9.726 27.3,0 l 114.2,145.592688 c 12.81652,16.33968 3.7,30.87906 -14.1,30.87906 h -79.8 v 259.88716 c 0,18.58333 -13.5475,27.48437 -24,33.53383 -6.1592,3.56467 -20,0 -20,0 -13.3,0 -23.86429,-14.95148 -24,-33.53383 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083"
|
|
||||||
d="M 417.23298,302.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083" d="M 417.23298,400.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.13474083" d="M 417.23298,498.09757 H 242.11439 c -17.12557,0 -30.90328,-6.7 -30.90328,-20 v -12 c 0,-13.3 13.77771,-20 30.90328,-20 h 175.11859 c 17.12557,0 30.90327,6.7 30.90327,20 v 12 c 0,13.3 -13.7777,20 -30.90327,20 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.53333321" d="m 7.705,8.045 4.59,4.58 4.59,-4.58 1.41,1.41 -6,6 -6,-6 z" />
|
|
||||||
<path fill="none" d="M0-.25h24v24H0z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 229 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
||||||
<path style="fill:#6f6f6f;fill-opacity:1;stroke-width:1.51181102;stroke-miterlimit:4;stroke-dasharray:none" d="m 16,7.16 -4.58,4.59 4.58,4.59 -1.41,1.41 -6,-6 6,-6 z"/>
|
|
||||||
<path fill="none" d="M0-.25h24v24H0z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 281 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.51181102;stroke-miterlimit:4;stroke-dasharray:none" d="m 16,7.16 -4.58,4.59 4.58,4.59 -1.41,1.41 -6,-6 6,-6 z" />
|
|
||||||
<path fill="none" d="M0-.25h24v24H0z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 283 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.53333336" d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z" />
|
|
||||||
<path fill="none" d="M0-.25h24v24H0z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 220 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1;stroke-width:1.51181102;stroke-miterlimit:4;stroke-dasharray:none" d="M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z" />
|
|
||||||
<path fill="none" d="M0-.25h24v24H0z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 277 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.53333309" d="m 16.885,15.455 -4.59,-4.58 -4.59,4.58 -1.41,-1.41 6,-6 6,6 z" />
|
|
||||||
<path fill="none" d="M0-.25h24v24H0z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 233 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 241.75 241.75">
|
|
||||||
<path d="m211.875,124.513v-33.513c0-50.178-40.822-91-91-91s-91,40.822-91,91v33.513c-4,0.134-8,3.765-8,8.237v0.5c0,4.557 4.026,8.5 8.583,8.5h13.341l10.275,90.064c0.624,5.465 5.634,9.936 11.134,9.936h112c5.5,0 10.481-4.475 11.067-9.942l9.671-90.058h14.012c4.557,0 7.917-3.943 7.917-8.5v-0.5c0-4.473-3-8.104-8-8.237zm-91-107.513c40.804,0 74,33.196 74,74v1.75h-148v-1.75c0-40.804 33.196-74 74-74z" fill="#6F6F6F"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 489 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.2" d="M 400,64 H 352 V 12 C 352,5.4 346.6,0 340,0 h -40 c -6.6,0 -12,5.4 -12,12 V 64 H 160 V 12 C 160,5.4 154.6,0 148,0 H 108 C 101.4,0 96,5.4 96,12 V 64 H 48 C 21.5,64 0,85.5 0,112 v 352 c 0,26.5 21.5,48 48,48 h 352 c 26.5,0 48,-21.5 48,-48 V 112 C 448,85.5 426.5,64 400,64 Z m -2,404 H 50 c -3.3,0 -6.022147,-2.70007 -6,-6 V 154 h 360 v 308 c 0,3.3 -2.7,6 -6,6 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 482 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1" d="M 400,64 H 352 V 12 C 352,5.4 346.6,0 340,0 h -40 c -6.6,0 -12,5.4 -12,12 V 64 H 160 V 12 C 160,5.4 154.6,0 148,0 H 108 C 101.4,0 96,5.4 96,12 V 64 H 48 C 21.5,64 0,85.5 0,112 v 352 c 0,26.5 21.5,48 48,48 h 352 c 26.5,0 48,-21.5 48,-48 V 112 C 448,85.5 426.5,64 400,64 Z m -2,404 H 50 c -3.3,0 -6.022147,-2.70007 -6,-6 V 154 h 360 v 308 c 0,3.3 -2.7,6 -6,6 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 480 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.2" d="M512 144v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V144c0-26.5 21.5-48 48-48h88l12.3-32.9c7-18.7 24.9-31.1 44.9-31.1h125.5c20 0 37.9 12.4 44.9 31.1L376 96h88c26.5 0 48 21.5 48 48zM376 288c0-66.2-53.8-120-120-120s-120 53.8-120 120 53.8 120 120 120 120-53.8 120-120zm-32 0c0 48.5-39.5 88-88 88s-88-39.5-88-88 39.5-88 88-88 88 39.5 88 88z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 466 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#909090;fill-opacity:1" d="M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 396 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.976 51.976">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.53333285;stroke-width:1.45681119" d="m 41.00531,40.844062 c -1.137768,1.137765 -2.982088,1.137765 -4.119861,0 L 26.068628,30.027234 14.737551,41.35831 c -1.137771,1.137771 -2.982093,1.137771 -4.119861,0 -1.1377722,-1.137768 -1.1377722,-2.982088 0,-4.119861 L 21.948766,25.907372 11.131938,15.090551 c -1.1377647,-1.137771 -1.1377647,-2.983553 0,-4.119861 1.137774,-1.1377721 2.982098,-1.1377721 4.119865,0 L 26.068628,21.787512 36.369739,11.486399 c 1.137768,-1.137768 2.982093,-1.137768 4.119862,0 1.137767,1.137769 1.137767,2.982094 0,4.119862 L 30.188489,25.907372 41.00531,36.724197 c 1.137771,1.137767 1.137771,2.982091 0,4.119865 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 761 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.976 51.976">
|
|
||||||
<path style="fill:#626469;fill-opacity:1;stroke-width:1.92909384" d="m 45.930983,45.603013 c -1.506621,1.506622 -3.948855,1.506622 -5.455477,0 L 26.151986,31.279492 11.147494,46.283983 c -1.5066223,1.506623 -3.948855,1.506623 -5.4554772,0 -1.5066222,-1.506621 -1.5066222,-3.948855 0,-5.455477 L 20.696508,25.824014 6.3729868,11.500494 c -1.5066221,-1.5066223 -1.5066221,-3.9507841 0,-5.4554772 1.5066223,-1.5066222 3.9488552,-1.5066222 5.4554762,0 L 26.151986,20.368538 39.792606,6.727916 c 1.506623,-1.5066223 3.948856,-1.5066223 5.455478,0 1.506623,1.5066222 1.506623,3.948855 0,5.455478 l -13.640622,13.64062 14.323521,14.323523 c 1.506623,1.506621 1.506623,3.948853 0,5.455476 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 765 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.53333336;stroke-width:0.63999999" d="M464 0H144c-26.51 0-48 21.49-48 48v48H48c-26.51 0-48 21.49-48 48v320c0 26.51 21.49 48 48 48h320c26.51 0 48-21.49 48-48v-48h48c26.51 0 48-21.49 48-48V48c0-26.51-21.49-48-48-48zM362 464H54a6 6 0 0 1-6-6V150a6 6 0 0 1 6-6h42v224c0 26.51 21.49 48 48 48h224v42a6 6 0 0 1-6 6zm96-96H150a6 6 0 0 1-6-6V54a6 6 0 0 1 6-6h308a6 6 0 0 1 6 6v308a6 6 0 0 1-6 6z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 502 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.2" d="M360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64zM192 208c-57.787 0-104-66.518-104-144h208c0 77.945-46.51 144-104 144z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 560 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1" d="M64,41.733c0-1.345-1.089-2.435-2.435-2.435c-1.347,0-2.436,1.09-2.436,2.435v14.115H4.946V41.733 c0-1.345-1.089-2.435-2.437-2.435c-1.346,0-2.435,1.09-2.435,2.435v15.535c0,0.18,0.067,0.338,0.103,0.507 c-0.035,0.169-0.103,0.328-0.103,0.507c0,1.345,1.089,2.436,2.435,2.436h59.056c1.346,0,2.435-1.091,2.435-2.436 c0-0.179-0.064-0.338-0.102-0.507C63.936,57.606,64,57.448,64,57.269V41.733z" />
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1" d="m32.19,2.967c-1.346,0-2.437,1.091-2.437,2.436v35.576l-10.605-10.607c-0.951-0.951-2.492-0.951-3.443,0s-0.951,2.493 0,3.444l14.764,14.764c0.475,0.476 1.099,0.713 1.722,0.713 0.622,0 1.245-0.238 1.722-0.713l14.764-14.764c0.951-0.951 0.951-2.493 0-3.444-0.952-0.951-2.493-0.951-3.443,0l-10.609,10.607v-35.576c0-1.345-1.089-2.436-2.435-2.436z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 899 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
|
||||||
<path fill="#f2f2f2" d="M 360,460 H 24 C 10.7,460 0,453.3 0,440 v -12 c 0,-13.3 10.7,-20 24,-20 h 336 c 13.3,0 24,6.7 24,20 v 12 c 0,13.3 -10.7,20 -24,20 z" />
|
|
||||||
<path fill="#f2f2f2" d="M 226.5539,234.88428 V 52.943283 c 0,-6.627 -5.373,-12 -12,-12 h -44 c -6.627,0 -12,5.373 -12,12 V 234.88428 h -52.059 c -21.382,0 -32.09,25.851 -16.971,40.971 l 86.059,86.059 c 9.373,9.373 24.569,9.373 33.941,0 l 86.059,-86.059 c 15.119,-15.119 4.411,-40.971 -16.971,-40.971 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 540 B |
|
Before Width: | Height: | Size: 8.9 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 51.976 51.976">
|
|
||||||
<path fill="#6f6f6f" d="M44.373,7.603c-10.137-10.137-26.632-10.138-36.77,0c-10.138,10.138-10.137,26.632,0,36.77s26.632,10.138,36.77,0 C54.51,34.235,54.51,17.74,44.373,7.603z M36.241,36.241c-0.781,0.781-2.047,0.781-2.828,0l-7.425-7.425l-7.778,7.778 c-0.781,0.781-2.047,0.781-2.828,0c-0.781-0.781-0.781-2.047,0-2.828l7.778-7.778l-7.425-7.425c-0.781-0.781-0.781-2.048,0-2.828 c0.781-0.781,2.047-0.781,2.828,0l7.425,7.425l7.071-7.071c0.781-0.781,2.047-0.781,2.828,0c0.781,0.781,0.781,2.047,0,2.828 l-7.071,7.071l7.425,7.425C37.022,34.194,37.022,35.46,36.241,36.241z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 652 B |
|
|
@ -1,6 +0,0 @@
|
||||||
<svg viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<style>.cls-1{fill:none;stroke:#919192;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px;}</style>
|
|
||||||
<path class="cls-1" d="M1,24a26.85,26.85,0,0,1,46,0"/>
|
|
||||||
<path class="cls-1" d="M1,24a26.85,26.85,0,0,0,46,0"/>
|
|
||||||
<ellipse class="cls-1" cx="24" cy="24" rx="7" ry="7"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 358 B |
|
|
@ -1,5 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 438.543 438.543">
|
|
||||||
<g transform="matrix(0.729,0,0,0.729,59.422576,59.422441)">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1" d="m 407.42,159.029 c 3.62,3.616 7.898,5.428 12.847,5.428 2.282,0 4.668,-0.476 7.139,-1.429 7.426,-3.235 11.136,-8.853 11.136,-16.846 V 18.276 c 0,-4.949 -1.807,-9.231 -5.428,-12.847 -3.61,-3.617 -7.898,-5.424 -12.847,-5.424 H 292.36 c -7.991,0 -13.607,3.805 -16.848,11.419 -3.23,7.423 -1.902,13.99 4,19.698 L 320.623,72.234 219.271,173.589 117.917,72.231 159.029,31.119 c 5.901,-5.708 7.232,-12.275 3.999,-19.698 C 159.789,3.807 154.175,0 146.182,0 H 18.276 C 13.324,0 9.041,1.809 5.425,5.426 1.808,9.042 0.001,13.324 0.001,18.273 V 146.18 c 0,7.996 3.809,13.61 11.419,16.846 2.285,0.948 4.57,1.429 6.855,1.429 4.948,0 9.229,-1.812 12.847,-5.427 L 72.234,117.919 173.588,219.273 72.234,320.622 31.122,279.509 c -5.711,-5.903 -12.275,-7.231 -19.702,-4.001 -7.614,3.241 -11.419,8.856 -11.419,16.854 v 127.906 c 0,4.948 1.807,9.229 5.424,12.847 3.619,3.614 7.902,5.421 12.851,5.421 h 127.906 c 7.996,0 13.61,-3.806 16.846,-11.416 3.234,-7.427 1.903,-13.99 -3.999,-19.705 L 117.917,366.309 219.271,264.95 320.624,366.311 279.51,407.421 c -5.899,5.708 -7.228,12.279 -3.997,19.698 3.237,7.617 8.856,11.423 16.851,11.423 h 127.907 c 4.948,0 9.232,-1.813 12.847,-5.428 3.613,-3.613 5.42,-7.898 5.42,-12.847 V 292.362 c 0,-7.994 -3.709,-13.613 -11.136,-16.851 -7.802,-3.23 -14.462,-1.903 -19.985,4.004 L 366.311,320.621 264.952,219.271 366.31,117.917 Z" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
|
@ -1,7 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44 44">
|
|
||||||
<path fill="#626469" d="M 18,4 H 6 C 4.9,4 4,4.9 4,6 v 12 c 0,1.1 0.9,2 2,2 h 12 c 1.1,0 2,-0.9 2,-2 V 6 C 20,4.9 19.1,4 18,4 Z" />
|
|
||||||
<path fill="#626469" d="M 38,4 H 26 c -1.1,0 -2,0.9 -2,2 v 12 c 0,1.1 0.9,2 2,2 h 12 c 1.1,0 2,-0.9 2,-2 V 6 C 40,4.9 39.1,4 38,4 Z" />
|
|
||||||
<path fill="#626469" d="M 18,24 H 6 c -1.1,0 -2,0.9 -2,2 v 12 c 0,1.1 0.9,2 2,2 h 12 c 1.1,0 2,-0.9 2,-2 V 26 c 0,-1.1 -0.9,-2 -2,-2 z" />
|
|
||||||
<path fill="#626469" d="M 38,24 H 26 c -1.1,0 -2,0.9 -2,2 v 12 c 0,1.1 0.9,2 2,2 h 12 c 1.1,0 2,-0.9 2,-2 V 26 c 0,-1.1 -0.9,-2 -2,-2 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 678 B |
|
|
@ -1,5 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
|
|
||||||
<g transform="matrix(0.882,0,0,0.882,5.9,5.9)">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1" d="m 62.162,0 c 6.696,0 10.043,4.567 10.043,9.789 0,6.522 -5.814,12.555 -13.391,12.555 -6.344,0 -10.045,-3.752 -9.869,-9.947 C 48.945,7.176 53.35,0 62.162,0 Z M 41.543,100 c -5.287,0 -9.164,-3.262 -5.463,-17.615 l 6.07,-25.457 c 1.057,-4.077 1.23,-5.707 0,-5.707 -1.588,0 -8.451,2.816 -12.51,5.59 L 27,52.406 C 39.863,41.48 54.662,35.072 61.004,35.072 c 5.285,0 6.168,6.361 3.525,16.148 L 57.58,77.98 c -1.234,4.729 -0.703,6.359 0.527,6.359 1.586,0 6.787,-1.963 11.896,-6.041 L 73,82.377 C 60.488,95.1 46.83,100 41.543,100 Z" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 702 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#626469;fill-opacity:1" d="m 133.333,56 v 64 c 0,13.255 -10.745,24 -24,24 H 24 C 10.745,144 0,133.255 0,120 V 56 C 0,42.745 10.745,32 24,32 h 85.333 c 13.255,0 24,10.745 24,24 z m 379.334,232 v -64 c 0,-13.255 -10.745,-24 -24,-24 H 213.333 c -13.255,0 -24,10.745 -24,24 v 64 c 0,13.255 10.745,24 24,24 h 275.333 c 13.256,0 24.001,-10.745 24.001,-24 z m 0,-168 V 56 c 0,-13.255 -10.745,-24 -24,-24 H 213.333 c -13.255,0 -24,10.745 -24,24 v 64 c 0,13.255 10.745,24 24,24 h 275.333 c 13.256,0 24.001,-10.745 24.001,-24 z M 109.333,200 H 24 C 10.745,200 0,210.745 0,224 v 64 c 0,13.255 10.745,24 24,24 h 85.333 c 13.255,0 24,-10.745 24,-24 v -64 c 0,-13.255 -10.745,-24 -24,-24 z M 0,392 v 64 c 0,13.255 10.745,24 24,24 h 85.333 c 13.255,0 24,-10.745 24,-24 v -64 c 0,-13.255 -10.745,-24 -24,-24 H 24 C 10.745,368 0,378.745 0,392 Z m 189.333,0 v 64 c 0,13.255 10.745,24 24,24 h 275.333 c 13.255,0 24,-10.745 24,-24 v -64 c 0,-13.255 -10.745,-24 -24,-24 H 213.333 c -13.255,0 -24,10.745 -24,24 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.1 KiB |
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<svg width='120px' height='120px' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="uil-ring-alt">
|
|
||||||
<rect x="0" y="0" width="100" height="100" fill="none" class="bk"></rect>
|
|
||||||
<circle cx="50" cy="50" r="40" stroke="none" fill="none" stroke-width="10" stroke-linecap="round"></circle>
|
|
||||||
<circle cx="50" cy="50" r="40" stroke="#6f6f6f" fill="none" stroke-width="6" stroke-linecap="round">
|
|
||||||
<animate attributeName="stroke-dashoffset" dur="2s" repeatCount="indefinite" from="0" to="502"></animate>
|
|
||||||
<animate attributeName="stroke-dasharray" dur="2s" repeatCount="indefinite" values="150.6 100.4;1 250;150.6 100.4"></animate>
|
|
||||||
</circle>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 731 B |
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<svg width='120px' height='120px' xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" class="uil-ring-alt">
|
|
||||||
<rect x="0" y="0" width="100" height="100" fill="none" class="bk"></rect>
|
|
||||||
<circle cx="50" cy="50" r="40" stroke="none" fill="none" stroke-width="10" stroke-linecap="round"></circle>
|
|
||||||
<circle cx="50" cy="50" r="40" stroke="#ffffff" fill="none" stroke-width="6" stroke-linecap="round">
|
|
||||||
<animate attributeName="stroke-dashoffset" dur="2s" repeatCount="indefinite" from="0" to="502"></animate>
|
|
||||||
<animate attributeName="stroke-dasharray" dur="2s" repeatCount="indefinite" values="150.6 100.4;1 250;150.6 100.4"></animate>
|
|
||||||
</circle>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 731 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
|
||||||
<path style="fill:#313538;fill-opacity:1" d="M8,0C4.687,0,2,2.687,2,6c0,3.854,4.321,8.663,5,9.398C7.281,15.703,7.516,16,8,16s0.719-0.297,1-0.602 C9.679,14.663,14,9.854,14,6C14,2.687,11.313,0,8,0z M8,10c-2.209,0-4-1.791-4-4s1.791-4,4-4s4,1.791,4,4S10.209,10,8,10z M8,4 C6.896,4,6,4.896,6,6s0.896,2,2,2s2-0.896,2-2S9.104,4,8,4z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 402 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.53333336;stroke-width:0.63999999" d="m 96,209.92 c 25.472,0 46.08,20.608 46.08,46.08 0,25.472 -20.608,46.08 -46.08,46.08 -25.472,0 -46.08,-20.608 -46.08,-46.08 0,-25.472 20.608,-46.08 46.08,-46.08 z M 49.92,91.36 c 0,25.472 20.608,46.08 46.08,46.08 25.472,0 46.08,-20.608 46.08,-46.08 0,-25.472 -20.608,-46.08 -46.08,-46.08 -25.472,0 -46.08,20.608 -46.08,46.08 z m 0,329.28 c 0,25.472 20.608,46.08 46.08,46.08 25.472,0 46.08,-20.608 46.08,-46.08 0,-25.472 -20.608,-46.08 -46.08,-46.08 -25.472,0 -46.08,20.608 -46.08,46.08 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 641 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg viewBox="0 0 512 512" fill="#6f6f6f" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M 320,81.987868 V 427.76931 c 0,9.34336 7.6446,16.98788 16.9879,16.98788 h 25.9757 c 9.3433,0 16.9878,-7.64452 16.9878,-16.98788 V 81.987868 C 379.9514,72.644536 372.3069,65 362.9636,65 H 336.9879 C 327.6446,65 320,72.644536 320,81.987868 Z" />
|
|
||||||
<path d="M 150,81.987868 V 427.76931 c 0,9.34336 7.64455,16.98788 16.98779,16.98788 h 25.97552 c 9.34324,0 16.98769,-7.64452 16.98769,-16.98788 V 81.987868 C 209.951,72.644536 202.30655,65 192.96331,65 H 166.98779 C 157.64455,65 150,72.644536 150,81.987868 Z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 606 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg viewBox="0 0 24 24" fill="none" stroke="#6f6f6f" stroke-width="2.1" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="M 8.9281724,2.5998029 C 8.2216149,2.1532873 7.0721143,2.3920918 7.0718277,3.4001971 l -0.00489,17.2050459 c -2.889e-4,1.015715 1.2121979,1.160372 1.8661307,0.789513 C 23.97574,8.7289856 23.930152,14.104463 8.9281584,2.5998029 Z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 359 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 489.888 489.888" style="enable-background:new 0 0 489.888 489.888;">
|
|
||||||
<path fill="#6f6f6f" d="M25.383,290.5c-7.2-77.5,25.9-147.7,80.8-192.3c21.4-17.4,53.4-2.5,53.4,25l0,0c0,10.1-4.8,19.4-12.6,25.7 c-38.9,31.7-62.3,81.7-56.6,136.9c7.4,71.9,65,130.1,136.8,138.1c93.7,10.5,173.3-62.9,173.3-154.5c0-48.6-22.5-92.1-57.6-120.6 c-7.8-6.3-12.5-15.6-12.5-25.6l0,0c0-27.2,31.5-42.6,52.7-25.6c50.2,40.5,82.4,102.4,82.4,171.8c0,126.9-107.8,229.2-236.7,219.9 C122.183,481.8,35.283,396.9,25.383,290.5z M244.883,0c-18,0-32.5,14.6-32.5,32.5v149.7c0,18,14.6,32.5,32.5,32.5 s32.5-14.6,32.5-32.5V32.5C277.383,14.6,262.883,0,244.883,0z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 693 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"/><path d="M0 0h24v24H0z" fill="none"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 340 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 438.533 438.533" style="enable-background:new 0 0 438.533 438.533;">
|
|
||||||
<path fill="#FFFFFF" d="M432.823,121.049c-3.806-9.132-8.377-16.367-13.709-21.695l-79.941-79.942c-5.325-5.325-12.56-9.895-21.696-13.704 C308.346,1.903,299.969,0,292.357,0H27.409C19.798,0,13.325,2.663,7.995,7.993c-5.33,5.327-7.992,11.799-7.992,19.414v383.719 c0,7.617,2.662,14.089,7.992,19.417c5.33,5.325,11.803,7.991,19.414,7.991h383.718c7.618,0,14.089-2.666,19.417-7.991 c5.325-5.328,7.987-11.8,7.987-19.417V146.178C438.531,138.562,436.629,130.188,432.823,121.049z M182.725,45.677 c0-2.474,0.905-4.611,2.714-6.423c1.807-1.804,3.949-2.708,6.423-2.708h54.819c2.468,0,4.609,0.902,6.417,2.708 c1.813,1.812,2.717,3.949,2.717,6.423v91.362c0,2.478-0.91,4.618-2.717,6.427c-1.808,1.803-3.949,2.708-6.417,2.708h-54.819 c-2.474,0-4.617-0.902-6.423-2.708c-1.809-1.812-2.714-3.949-2.714-6.427V45.677z M328.906,401.991H109.633V292.355h219.273 V401.991z M402,401.991h-36.552h-0.007V283.218c0-7.617-2.663-14.085-7.991-19.417c-5.328-5.328-11.8-7.994-19.41-7.994H100.498 c-7.614,0-14.087,2.666-19.417,7.994c-5.327,5.328-7.992,11.8-7.992,19.417v118.773H36.544V36.542h36.544v118.771 c0,7.615,2.662,14.084,7.992,19.414c5.33,5.327,11.803,7.993,19.417,7.993h164.456c7.61,0,14.089-2.666,19.41-7.993 c5.325-5.327,7.994-11.799,7.994-19.414V36.542c2.854,0,6.563,0.95,11.136,2.853c4.572,1.902,7.806,3.805,9.709,5.708l80.232,80.23 c1.902,1.903,3.806,5.19,5.708,9.851c1.909,4.665,2.857,8.33,2.857,10.994V401.991z"/>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.2" d="M360 0H24C10.745 0 0 10.745 0 24v16c0 13.255 10.745 24 24 24 0 90.965 51.016 167.734 120.842 192C75.016 280.266 24 357.035 24 448c-13.255 0-24 10.745-24 24v16c0 13.255 10.745 24 24 24h336c13.255 0 24-10.745 24-24v-16c0-13.255-10.745-24-24-24 0-90.965-51.016-167.734-120.842-192C308.984 231.734 360 154.965 360 64c13.255 0 24-10.745 24-24V24c0-13.255-10.745-24-24-24zm-64 448H88c0-77.458 46.204-144 104-144 57.786 0 104 66.517 104 144z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 558 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#000000;fill-opacity:0.2" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 469 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#626469;fill-opacity:1" d="M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 467 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
|
|
||||||
<path style="fill:#626469;fill-opacity:1" d="M41 288h238c21.4 0 32.1 25.9 17 41L177 448c-9.4 9.4-24.6 9.4-33.9 0L24 329c-15.1-15.1-4.4-41 17-41zm255-105L177 64c-9.4-9.4-24.6-9.4-33.9 0L24 183c-15.1 15.1-4.4 41 17 41h238c21.4 0 32.1-25.9 17-41z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 320 B |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M6 6h12v12H6z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 151 B |
|
|
@ -1,3 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
||||||
<path style="fill:#f2f2f2;fill-opacity:1" d="m 208,128 h 288 c 8.8,0 16,-7.2 16,-16 V 80 c 0,-8.8 -7.2,-16 -16,-16 H 208 c -8.8,0 -16,7.2 -16,16 v 32 c 0,8.8 7.2,16 16,16 z m 0,160 h 288 c 8.8,0 16,-7.2 16,-16 v -32 c 0,-8.8 -7.2,-16 -16,-16 H 208 c -8.8,0 -16,7.2 -16,16 v 32 c 0,8.8 7.2,16 16,16 z m 0,160 h 288 c 8.8,0 16,-7.2 16,-16 v -32 c 0,-8.8 -7.2,-16 -16,-16 H 208 c -8.8,0 -16,7.2 -16,16 v 32 c 0,8.8 7.2,16 16,16 z M 64,368 c -26.5,0 -48.6,21.5 -48.6,48 0,26.5 22.1,48 48.6,48 26.5,0 48,-21.5 48,-48 0,-26.5 -21.5,-48 -48,-48 z M 156.5,69 84.3,141.2 68.7,156.8 c -4.7,4.7 -12.9,4.7 -17.6,0 L 3.5,109.4 c -4.7,-4.7 -4.7,-12.3 0,-17 L 19.2,76.7 c 4.7,-4.7 12.3,-4.7 17,0 l 22.7,22.1 63.7,-63.3 c 4.7,-4.7 12.3,-4.7 17,0 l 17,16.5 c 4.6,4.7 4.6,12.3 -0.1,17 z m 0,159.6 -72.2,72.2 -15.7,15.7 c -4.7,4.7 -12.9,4.7 -17.6,0 L 3.5,269 c -4.7,-4.7 -4.7,-12.3 0,-17 l 15.7,-15.7 c 4.7,-4.7 12.3,-4.7 17,0 l 22.7,22.1 63.7,-63.7 c 4.7,-4.7 12.3,-4.7 17,0 l 17,17 c 4.6,4.6 4.6,12.2 -0.1,16.9 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1 KiB |
|
|
@ -1,5 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512">
|
|
||||||
<path fill="#f2f2f2" d="M 360,460 H 24 C 10.7,460 0,453.3 0,440 v -12 c 0,-13.3 10.7,-20 24,-20 h 336 c 13.3,0 24,6.7 24,20 v 12 c 0,13.3 -10.7,20 -24,20 z" />
|
|
||||||
<path fill="#f2f2f2" d="m 226.5539,149.00303 v 161.941 c 0,6.627 -5.373,12 -12,12 h -44 c -6.627,0 -12,-5.373 -12,-12 v -161.941 h -52.059 c -21.382,0 -32.09,-25.851 -16.971,-40.971 l 86.059,-86.058997 c 9.373,-9.373 24.569,-9.373 33.941,0 l 86.059,86.058997 c 15.119,15.119 4.411,40.971 -16.971,40.971 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 598 B |
|
|
@ -1,5 +0,0 @@
|
||||||
<svg viewBox="0 0 24 24" fill="none" stroke="#6f6f6f" stroke-width="2" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="m 16.350225,8.193787 c 1.449626,1.933559 1.449626,5.678884 0,7.612446" />
|
|
||||||
<path d="m 19.612703,4.3875644 c 4.336919,4.1411704 4.363014,11.1109086 0,15.2248876" />
|
|
||||||
<path d="M 1.1253356,15.217897 V 8.7810328 c 0,-0.6242205 0.4871967,-1.1309917 1.0874923,-1.1309917 H 6.1125748 A 1.0657422,1.0657422 0 0 0 6.8814318,7.3183562 L 10.143909,3.6339328 c 0.68512,-0.713395 1.856345,-0.2077111 1.856345,0.8003942 v 15.131368 c 0,1.015715 -1.185362,1.517045 -1.866131,0.789513 L 6.882519,16.69145 A 1.0657422,1.0657422 0 0 0 6.1038748,16.349975 H 2.2128279 c -0.6002956,0 -1.0874923,-0.506768 -1.0874923,-1.132078 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 739 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg viewBox="0 0 24 24" fill="none" stroke="#6f6f6f" stroke-width="2" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="m 16.350225,8.193787 c 1.449626,1.933559 1.449626,5.678884 0,7.612446" />
|
|
||||||
<path d="M 1.1253356,15.217897 V 8.7810328 c 0,-0.6242205 0.4871967,-1.1309917 1.0874923,-1.1309917 H 6.1125748 A 1.0657422,1.0657422 0 0 0 6.8814318,7.3183562 L 10.143909,3.6339328 c 0.68512,-0.713395 1.856345,-0.2077111 1.856345,0.8003942 v 15.131368 c 0,1.015715 -1.185362,1.517045 -1.866131,0.789513 L 6.882519,16.69145 A 1.0657422,1.0657422 0 0 0 6.1038748,16.349975 H 2.2128279 c -0.6002956,0 -1.0874923,-0.506768 -1.0874923,-1.132078 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 648 B |
|
|
@ -1,4 +0,0 @@
|
||||||
<svg viewBox="0 0 24 24" fill="none" stroke="#6f6f6f" stroke-width="2" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path d="m 21.983883,14.883883 -6,-5.9999995 m 6,0 -6,5.9999995" />
|
|
||||||
<path d="M 1.1253356,15.217897 V 8.7810328 c 0,-0.6242205 0.4871967,-1.1309917 1.0874923,-1.1309917 H 6.1125748 A 1.0657422,1.0657422 0 0 0 6.8814318,7.3183562 L 10.143909,3.6339328 c 0.68512,-0.713395 1.856345,-0.2077111 1.856345,0.8003942 v 15.131368 c 0,1.015715 -1.185362,1.517045 -1.866131,0.789513 L 6.882519,16.69145 A 1.0657422,1.0657422 0 0 0 6.1038748,16.349975 H 2.2128279 c -0.6002956,0 -1.0874923,-0.506768 -1.0874923,-1.132078 z" />
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 633 B |
|
Before Width: | Height: | Size: 6.5 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 395 B |
|
Before Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 2.7 KiB |
|
|
@ -1,36 +0,0 @@
|
||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
||||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000"
|
|
||||||
preserveAspectRatio="xMidYMid meet">
|
|
||||||
<metadata>
|
|
||||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
|
||||||
</metadata>
|
|
||||||
<g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)"
|
|
||||||
fill="#000000" stroke="none">
|
|
||||||
<path d="M2418 4475 c-2 -1 -28 -5 -58 -8 -255 -28 -553 -171 -763 -367 -202
|
|
||||||
-190 -366 -483 -411 -735 l-11 -60 -50 -13 c-28 -6 -63 -15 -79 -17 -16 -3
|
|
||||||
-72 -22 -125 -41 -466 -173 -794 -561 -897 -1059 -24 -116 -24 -380 0 -506 97
|
|
||||||
-511 448 -926 916 -1082 191 -64 106 -61 1520 -59 1187 2 1400 4 1476 18 260
|
|
||||||
47 432 120 631 266 173 128 326 315 419 512 100 213 134 378 129 626 -4 172
|
|
||||||
-5 182 -42 325 -84 327 -298 627 -578 812 -151 99 -368 187 -517 208 l-46 7
|
|
||||||
-17 72 c-32 137 -54 198 -122 336 -68 139 -136 234 -252 351 -164 164 -311
|
|
||||||
260 -523 337 -65 24 -191 57 -258 67 -45 7 -336 16 -342 10z m302 -480 c62
|
|
||||||
-11 209 -64 268 -96 211 -116 369 -306 442 -533 12 -37 21 -69 19 -71 -2 -1
|
|
||||||
-51 -17 -109 -35 -138 -42 -344 -144 -450 -224 -94 -71 -193 -164 -255 -241
|
|
||||||
-64 -79 -69 -85 -76 -85 -3 0 -20 20 -38 45 -39 55 -177 196 -246 252 -162
|
|
||||||
131 -351 220 -612 289 -27 7 46 190 121 303 137 205 361 352 606 397 73 13
|
|
||||||
253 12 330 -1z m-1214 -1159 c153 -15 309 -78 440 -177 89 -66 122 -99 188
|
|
||||||
-184 186 -241 231 -467 156 -790 -105 -448 -430 -685 -945 -689 -148 -1 -236
|
|
||||||
19 -360 81 -195 97 -344 257 -439 471 -15 34 -29 70 -31 80 -1 9 -8 36 -14 59
|
|
||||||
-20 75 -26 126 -25 238 1 119 8 177 30 240 8 22 14 46 14 52 0 23 61 146 107
|
|
||||||
217 137 213 399 378 638 403 28 3 51 6 52 7 3 2 141 -3 189 -8z m2349 4 c69
|
|
||||||
-3 246 -65 330 -115 32 -19 59 -35 61 -35 23 0 192 -171 239 -241 111 -166
|
|
||||||
158 -318 159 -514 1 -148 -5 -193 -39 -300 -24 -77 -92 -214 -120 -241 -8 -9
|
|
||||||
-15 -19 -15 -23 0 -17 -157 -168 -213 -204 -89 -59 -189 -105 -290 -134 -91
|
|
||||||
-25 -97 -26 -477 -29 -830 -7 -999 -8 -1005 -3 -2 3 15 32 39 65 105 141 212
|
|
||||||
396 241 574 3 19 7 42 10 50 8 32 17 140 20 246 4 135 10 176 36 256 88 277
|
|
||||||
336 518 623 607 72 22 90 26 171 37 28 3 51 7 52 8 1 1 117 -2 178 -4z"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 2.2 KiB |
|
|
@ -1,55 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import { Button } from "./";
|
|
||||||
import { alert } from "../helpers/";
|
|
||||||
import { Popup } from "./popup";
|
|
||||||
import { t } from "../locales/";
|
|
||||||
|
|
||||||
import "./alert.scss";
|
|
||||||
|
|
||||||
export class ModalAlert extends Popup {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
alert.subscribe((Component, okCallback) => {
|
|
||||||
this.setState({
|
|
||||||
appear: true,
|
|
||||||
value: Component,
|
|
||||||
fn: okCallback,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
onSubmit() {
|
|
||||||
this.setState({ appear: false }, () => {
|
|
||||||
requestAnimationFrame(() => this.state.fn && this.state.fn());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
modalContentBody() {
|
|
||||||
return (
|
|
||||||
<div className="modal-message">
|
|
||||||
{this.state.value}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
modalContentFooter() {
|
|
||||||
return (
|
|
||||||
<Button type="submit" theme="emphasis"
|
|
||||||
onClick={this.onSubmit.bind(this)}>
|
|
||||||
{ t("OK") }
|
|
||||||
</Button>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function Alert({ children = null, className = null }) {
|
|
||||||
return (
|
|
||||||
<div className={"alert" + (className ? ` ${className}`: "")}>
|
|
||||||
{ children }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
.alert {
|
|
||||||
background: var(--bg-color);
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 20px;
|
|
||||||
margin-top: 20px;
|
|
||||||
margin-bottom: 20px;
|
|
||||||
border: 1px solid rgba(0,0,0,0.05);
|
|
||||||
|
|
||||||
ol, ul {
|
|
||||||
margin: 5px 0;
|
|
||||||
padding: 0 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.success{
|
|
||||||
background: var(--success);
|
|
||||||
}
|
|
||||||
&.error{
|
|
||||||
background: var(--error);
|
|
||||||
color: var(--bg-color);
|
|
||||||
}
|
|
||||||
|
|
||||||
img{
|
|
||||||
max-width: 100%;
|
|
||||||
border-radius: 5px;
|
|
||||||
border: 10px solid white;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
||||||
import React, { useState, useEffect } from "react";
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Back when I started this project, there used to be a library for animation made by facebook
|
|
||||||
* named: react-addons-css-transition-group
|
|
||||||
* Facebook got away from it and things haven't stayed backward compatible at the point where I got
|
|
||||||
* to realise it would be easier to write this simpler wrapper than migrate things over
|
|
||||||
*/
|
|
||||||
export function CSSTransition({
|
|
||||||
transitionName = "animate", children = null, transitionAppearTimeout = 300,
|
|
||||||
}) {
|
|
||||||
const [className, setClassName] = useState(`${transitionName} ${transitionName}-appear`);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setClassName(`${transitionName} ${transitionName}-appear ${transitionName}-appear-active`);
|
|
||||||
|
|
||||||
const timeout = setTimeout(() => {
|
|
||||||
setClassName(`${transitionName}`);
|
|
||||||
}, transitionAppearTimeout);
|
|
||||||
return () => clearTimeout(timeout);
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className={className}>
|
|
||||||
{ children }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,217 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import PropTypes from "prop-types";
|
|
||||||
import { Link } from "react-router-dom";
|
|
||||||
import { URL_FILES } from "../helpers/";
|
|
||||||
import { NgIf, Icon, EventEmitter } from "./";
|
|
||||||
import ReactCSSTransitionGroup from "react-addons-css-transition-group";
|
|
||||||
|
|
||||||
import "./breadcrumb.scss";
|
|
||||||
|
|
||||||
export class BreadCrumb extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
path: this._formatPath(props.path),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
UNSAFE_componentWillReceiveProps(props) {
|
|
||||||
this.setState({ path: this._formatPath(props.path) });
|
|
||||||
}
|
|
||||||
|
|
||||||
_formatPath(full_path) {
|
|
||||||
let paths = full_path.split("/");
|
|
||||||
if (paths.slice(-1)[0] === "") {
|
|
||||||
paths.pop();
|
|
||||||
}
|
|
||||||
paths = paths.map((path, index) => {
|
|
||||||
const sub_path = paths.slice(0, index+1).join("/");
|
|
||||||
const label = path === "" ? (CONFIG.name || "Filestash") : path;
|
|
||||||
if (index === paths.length - 1) {
|
|
||||||
return { full: null, label: label };
|
|
||||||
} else {
|
|
||||||
return {
|
|
||||||
full: sub_path + "/",
|
|
||||||
label: label,
|
|
||||||
minify: function() {
|
|
||||||
if (index === 0) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (paths.length <= (document.body.clientWidth > 800 ? 5 : 4)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (index > paths.length - (document.body.clientWidth > 1000? 4 : 3)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}(),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return paths;
|
|
||||||
}
|
|
||||||
|
|
||||||
render(Element) {
|
|
||||||
if (new window.URL(location.href).searchParams.get("nav") === "false") return null;
|
|
||||||
|
|
||||||
const Path = Element? Element : PathElement;
|
|
||||||
return (
|
|
||||||
<div className="component_breadcrumb" role="navigation">
|
|
||||||
<BreadCrumbContainer className={this.props.className + " no-select"}>
|
|
||||||
<Logout />
|
|
||||||
<ReactCSSTransitionGroup transitionName="breadcrumb" transitionLeave={true}
|
|
||||||
transitionEnter={true} transitionLeaveTimeout={150}
|
|
||||||
transitionEnterTimeout={200} transitionAppear={false}>
|
|
||||||
{
|
|
||||||
this.state.path.map((path, index) => {
|
|
||||||
return (
|
|
||||||
<Path key={"breadcrumb_"+index}
|
|
||||||
className={"n" + index}
|
|
||||||
baseURL={index === 0 ? URL_FILES : this.props.baseURL || URL_FILES}
|
|
||||||
currentSelection={this.props.currentSelection} path={path}
|
|
||||||
isLast={this.state.path.length === index + 1}
|
|
||||||
needSaving={this.props.needSaving} />
|
|
||||||
);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</ReactCSSTransitionGroup>
|
|
||||||
</BreadCrumbContainer>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
BreadCrumb.propTypes = {
|
|
||||||
path: PropTypes.string.isRequired,
|
|
||||||
needSaving: PropTypes.bool,
|
|
||||||
};
|
|
||||||
|
|
||||||
const BreadCrumbContainer = (props) => {
|
|
||||||
return (
|
|
||||||
<div className={props.className}>
|
|
||||||
<div className="ul">
|
|
||||||
{ props.children }
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Logout = (props) => {
|
|
||||||
const isRunningFromAnIframe = window.self !== window.top;
|
|
||||||
return (
|
|
||||||
<div className="li component_logout">
|
|
||||||
{
|
|
||||||
isRunningFromAnIframe ? null : (
|
|
||||||
<Link to="/logout">
|
|
||||||
<Icon name="power"/>
|
|
||||||
</Link>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Saving = (props) => {
|
|
||||||
return (
|
|
||||||
<ReactCSSTransitionGroup transitionName="saving_indicator"
|
|
||||||
transitionLeave={true} transitionEnter={true} transitionAppear={true}
|
|
||||||
transitionLeaveTimeout={200} transitionEnterTimeout={500}
|
|
||||||
transitionAppearTimeout={500}>
|
|
||||||
<NgIf key={props.needSaving} className="component_saving"
|
|
||||||
cond={props.needSaving === true}>
|
|
||||||
*
|
|
||||||
</NgIf>
|
|
||||||
</ReactCSSTransitionGroup>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const Separator = (props) => {
|
|
||||||
/* eslint-disable-next-line max-len */
|
|
||||||
const src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAA30lEQVQ4T63T7Q2CMBAG4OuVPdQNcAPdBCYwDdclCAQ3ACfRDXQDZQMHgNRcAoYApfWjv0jIPX3b3gn4wxJjI03TUAhRBkGwV0o9ffaYIEVRrJumuQHA3ReaILxzl+bCkNZ660ozi/QQIl4BoCKieAmyIlyU53lkjCld0CIyhIwxSmt9nEvkRLgoyzIuPggh4iRJqjHkhXTQAwBWUsqNUoq/38sL+TlJf7lf38ngdU5EFNme2adPFgGGrR2LiGcAqIko/LhjeXbatuVOraWUO58hnJ1iRKx8AetxXPHH/1+y62USursaSgAAAABJRU5ErkJggg==";
|
|
||||||
return (
|
|
||||||
<div className="component_separator">
|
|
||||||
<img alt="path_separator" width="16" height="16" src={src} />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
class PathElementWrapperComponent extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
|
|
||||||
limitSize(str, is_highlight = false) {
|
|
||||||
if (is_highlight === true) {
|
|
||||||
if (str.length > 30) {
|
|
||||||
return str.substring(0, 12).trim() + "..." +
|
|
||||||
str.substring(str.length - 10, str.length).trim();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (str.length > 27) {
|
|
||||||
return str.substring(0, 20).trim() + "...";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return str;
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
let className = "component_path-element-wrapper";
|
|
||||||
if (this.props.highlight) {
|
|
||||||
className += " highlight";
|
|
||||||
}
|
|
||||||
|
|
||||||
let href = this.props.baseURL + (this.props.path.full || "");
|
|
||||||
href = href
|
|
||||||
.replace(/\%/g, "%2525") // Hack to get the Link Component to work
|
|
||||||
// See ExistingThing in 'thing-existing.js'
|
|
||||||
.replace(/#/g, "%23")
|
|
||||||
.replace(/\?/g, "%3F");
|
|
||||||
href = href || "/";
|
|
||||||
href += location.search;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className={"li "+className}>
|
|
||||||
<NgIf cond={this.props.isLast === false}>
|
|
||||||
<Link to={href} className="label">
|
|
||||||
<NgIf cond={this.props.path.minify !== true}>
|
|
||||||
{ this.limitSize(this.props.path.label) }
|
|
||||||
</NgIf>
|
|
||||||
<NgIf cond={this.props.path.minify === true}>
|
|
||||||
...
|
|
||||||
<span className="title">
|
|
||||||
{ this.limitSize(this.props.path.label, true) }
|
|
||||||
</span>
|
|
||||||
</NgIf>
|
|
||||||
</Link>
|
|
||||||
<Separator/>
|
|
||||||
</NgIf>
|
|
||||||
<NgIf cond={this.props.isLast === true} className="label">
|
|
||||||
<div>{this.limitSize(this.props.path.label)}</div>
|
|
||||||
<Saving needSaving={this.props.needSaving} />
|
|
||||||
</NgIf>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
export const PathElementWrapper = EventEmitter(PathElementWrapperComponent);
|
|
||||||
|
|
||||||
|
|
||||||
// just a hack to make it play nicely with react-dnd as it refuses to use our
|
|
||||||
// custom component if it's not wrap by something it knows ...
|
|
||||||
export class PathElement extends PathElementWrapper {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
|
|
||||||
render(highlight = false) {
|
|
||||||
let className = "component_path-element";
|
|
||||||
if (this.props.isFirst) className += ` is-first`;
|
|
||||||
if (this.props.className) className += ` ${this.props.className}`;
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div className={className}>
|
|
||||||
<PathElementWrapper highlight={highlight} {...this.props} />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,181 +0,0 @@
|
||||||
.component_breadcrumb{
|
|
||||||
position: relative;
|
|
||||||
z-index: 5;
|
|
||||||
.breadcrumb{
|
|
||||||
background: white;
|
|
||||||
border-bottom: 2px solid rgba(100, 100, 100, 0.05);
|
|
||||||
transition: 1s ease border-bottom;
|
|
||||||
margin: 0 0 0px 0;
|
|
||||||
z-index: 1000;
|
|
||||||
padding: 3px 0;
|
|
||||||
|
|
||||||
.ul{
|
|
||||||
list-style-type: none;
|
|
||||||
margin: 0 auto;
|
|
||||||
width: 95%;
|
|
||||||
max-width: 800px;
|
|
||||||
padding: 0;
|
|
||||||
> span{display: block; padding: 7px 0;}
|
|
||||||
div, .li{
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&:hover .breadcrumb {
|
|
||||||
border-bottom: 2px solid rgba(100, 100, 100, 0.1);
|
|
||||||
}
|
|
||||||
.component_logout{
|
|
||||||
float: right;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 0px 0 5px;
|
|
||||||
line-height: 25px;
|
|
||||||
padding: 7px 0;
|
|
||||||
a{display: block; vertical-align: middle;}
|
|
||||||
.component_icon{
|
|
||||||
height: 20px;
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.component_saving{
|
|
||||||
padding-left: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.component_path-element{
|
|
||||||
display: inline-block;
|
|
||||||
.label{color: rgba(0,0,0,0.75); padding: 4px 5px;}
|
|
||||||
a.label{
|
|
||||||
position: relative;
|
|
||||||
color: rgba(0,0,0,0.5);
|
|
||||||
span.title{
|
|
||||||
position: absolute;
|
|
||||||
left: 0;
|
|
||||||
background: var(--color);
|
|
||||||
color: white;
|
|
||||||
font-size: 0.8em;
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(5px);
|
|
||||||
border-radius: 3px;
|
|
||||||
white-space: nowrap;
|
|
||||||
padding: 3px 10px!important;
|
|
||||||
margin: 23px 0px 5px 0px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.component_path-element-wrapper{
|
|
||||||
font-size: 18px;
|
|
||||||
display: inline-block;
|
|
||||||
|
|
||||||
a{border-radius: 3px; letter-spacing: -0.5px;}
|
|
||||||
&.highlight a{
|
|
||||||
background: var(--emphasis-primary);
|
|
||||||
border: 2px solid var(--primary);
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.component_separator img{
|
|
||||||
vertical-align: middle;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
body.touch-no{
|
|
||||||
.component_path-element-wrapper a.label:hover{
|
|
||||||
background: rgba(0,0,0,0.05);
|
|
||||||
span.title{
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0px);
|
|
||||||
transition: all 0.15s ease-out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
body.dark-mode.touch-no {
|
|
||||||
.component_path-element-wrapper a.label:hover { background: rgba(255, 255, 255, 0.05); }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// mobile user have a scrollable breadcrumb
|
|
||||||
body.touch-yes{
|
|
||||||
ul span{
|
|
||||||
overflow-x: auto;
|
|
||||||
overflow-y: hidden;
|
|
||||||
-webkit-overflow-scrolling: touch;
|
|
||||||
box-sizing:border-box;
|
|
||||||
-moz-box-sizing:border-box;
|
|
||||||
white-space: nowrap;
|
|
||||||
&::-webkit-scrollbar {
|
|
||||||
height: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-track {
|
|
||||||
background: var(--super-light);
|
|
||||||
}
|
|
||||||
|
|
||||||
&::-webkit-scrollbar-thumb {
|
|
||||||
background: #d2d2d2;
|
|
||||||
border-radius: 1px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* ANIMATION */
|
|
||||||
.component_breadcrumb{
|
|
||||||
.breadcrumb-leave{
|
|
||||||
display: inline-block;
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0px);
|
|
||||||
}
|
|
||||||
.breadcrumb-leave.breadcrumb-leave-active{
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(-10px);
|
|
||||||
transition: all 0.15s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.breadcrumb-enter{
|
|
||||||
transform: translateX(10px);
|
|
||||||
opacity: 0;
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.breadcrumb-enter.breadcrumb-enter-active{
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateX(0);
|
|
||||||
transition: all 0.2s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.saving_indicator-leave{
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
.saving_indicator-leave.saving_indicator-leave-active{
|
|
||||||
opacity: 0;
|
|
||||||
transition: all 0.2s ease-out;
|
|
||||||
}
|
|
||||||
|
|
||||||
.saving_indicator-enter, .saving_indicator-appear{
|
|
||||||
transform-origin: center;
|
|
||||||
animation-name: bounce;
|
|
||||||
animation-duration: 0.5s;
|
|
||||||
@keyframes bounce {
|
|
||||||
0% { transform: scale(0); }
|
|
||||||
30% { transform: scale(1.5);}
|
|
||||||
100% { transform: scale(1);}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark-mode{
|
|
||||||
.component_breadcrumb{
|
|
||||||
.breadcrumb{
|
|
||||||
background: rgba(0,0,0,0.07);
|
|
||||||
}
|
|
||||||
.component_path-element {
|
|
||||||
.label{ color: #f1f1f1; opacity: 0.7; }
|
|
||||||
a.label { opacity: 1; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
// taken from https://reacttraining.com/react-router/web/guides/code-splitting
|
|
||||||
import React from "react";
|
|
||||||
import load from "little-loader";
|
|
||||||
|
|
||||||
export class Bundle extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = { mod: null };
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
this.load(this.props);
|
|
||||||
}
|
|
||||||
|
|
||||||
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
||||||
if (nextProps.load !== this.props.load) {
|
|
||||||
this.load(nextProps);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
load(props) {
|
|
||||||
this.setState({
|
|
||||||
mod: null,
|
|
||||||
});
|
|
||||||
Promise.all(
|
|
||||||
[props.loader].concat(
|
|
||||||
(props.overrides || []).map((src) => loadAsPromise(src)),
|
|
||||||
),
|
|
||||||
).then((m) => {
|
|
||||||
const _mod = m[0];
|
|
||||||
this.setState({
|
|
||||||
mod: function(mod) {
|
|
||||||
if (mod["default"]) {
|
|
||||||
return mod.default;
|
|
||||||
} else if (mod["__esModule"] === true) {
|
|
||||||
return mod[props.symbol] ? mod[props.symbol] : null;
|
|
||||||
} else {
|
|
||||||
return mod;
|
|
||||||
}
|
|
||||||
}(_mod),
|
|
||||||
});
|
|
||||||
}).catch((err) => {
|
|
||||||
console.warn(err);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return this.state.mod ? this.props.children(this.state.mod) : null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function loadAsPromise(src) {
|
|
||||||
return new Promise((done, error) => {
|
|
||||||
load(src, function(err) {
|
|
||||||
if (err) {
|
|
||||||
error(err);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
done();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import "./button.scss";
|
|
||||||
|
|
||||||
export function Button({ theme = "", children = null, className = "", ...props }) {
|
|
||||||
return (
|
|
||||||
<button {...props} className={`${className} ${theme}`.trim()}>
|
|
||||||
{ children }
|
|
||||||
</button>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
button{
|
|
||||||
border: none;
|
|
||||||
margin: 0;
|
|
||||||
padding: 6px;
|
|
||||||
width: 100%;
|
|
||||||
display: inline-block;
|
|
||||||
outline: none;
|
|
||||||
cursor: pointer;
|
|
||||||
font-size: inherit;
|
|
||||||
border-radius: 2px;
|
|
||||||
color: inherit;
|
|
||||||
background: inherit;
|
|
||||||
|
|
||||||
&.primary{
|
|
||||||
background: var(--primary);
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
&.emphasis{
|
|
||||||
background: var(--emphasis);
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
&.dark{
|
|
||||||
background: var(--dark);
|
|
||||||
color: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.touch-no button {
|
|
||||||
&.dark:hover, &.emphasis:hover, &.primary:hover {
|
|
||||||
filter: brightness(95%);
|
|
||||||
transition: 0.2s ease all;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import "./card.scss";
|
|
||||||
|
|
||||||
export class Card extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
dragging: false,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
onClick() {
|
|
||||||
if (this.props.onClick) {
|
|
||||||
this.props.onClick();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onMouseEnter() {
|
|
||||||
if (this.props.onMouseEnter) {
|
|
||||||
this.props.onMouseEnter();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
onMouseLeave() {
|
|
||||||
if (this.props.onMouseLeave) {
|
|
||||||
this.props.onMouseLeave();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const _className = this.props.className ? this.props.className+" box" : "box";
|
|
||||||
return (
|
|
||||||
<div {...this.props} className={_className}>
|
|
||||||
{ this.props.children }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
.box{
|
|
||||||
padding: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
margin: 3px 0;
|
|
||||||
overflow: hidden;
|
|
||||||
position: relative;
|
|
||||||
}
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import { Button } from "./";
|
|
||||||
import { confirm } from "../helpers/";
|
|
||||||
import { Popup } from "./popup";
|
|
||||||
import { t } from "../locales/";
|
|
||||||
|
|
||||||
export class ModalConfirm extends Popup {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
confirm.subscribe((Component, yesCallback, noCallback) => {
|
|
||||||
this.setState({
|
|
||||||
appear: true,
|
|
||||||
value: Component,
|
|
||||||
fns: { yes: yesCallback, no: noCallback },
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
modalContentBody() {
|
|
||||||
return (
|
|
||||||
<div className="modal-message">
|
|
||||||
{this.state.value}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
yes() {
|
|
||||||
if (this.state.fns && typeof this.state.fns.yes === "function") {
|
|
||||||
this.state.fns.yes();
|
|
||||||
}
|
|
||||||
this.setState({ appear: false });
|
|
||||||
}
|
|
||||||
no() {
|
|
||||||
if (this.state.fns && typeof this.state.fns.no === "function") {
|
|
||||||
this.state.fns.no();
|
|
||||||
}
|
|
||||||
this.setState({ appear: false });
|
|
||||||
}
|
|
||||||
|
|
||||||
modalContentFooter() {
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<Button type="button" onClick={this.no.bind(this)}>{ t("NO") } </Button>
|
|
||||||
<Button type="submit" theme="emphasis" onClick={this.yes.bind(this)}>
|
|
||||||
{ t("YES") }
|
|
||||||
</Button>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import "./container.scss";
|
|
||||||
|
|
||||||
export class Container extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
render() {
|
|
||||||
const style = this.props.maxWidth ? { maxWidth: this.props.maxWidth } : {};
|
|
||||||
let className = "component_container";
|
|
||||||
if (this.props.className) className += " " + this.props.className;
|
|
||||||
return (
|
|
||||||
<div className={className} style={style}>
|
|
||||||
{this.props.children}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
.component_container{
|
|
||||||
width: 95%;
|
|
||||||
max-width: 800px;
|
|
||||||
margin: 0 auto;
|
|
||||||
padding: 10px;
|
|
||||||
}
|
|
||||||
|
|
@ -1,99 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import { Session } from "../model/";
|
|
||||||
import { Container, Loader, Icon } from "../components/";
|
|
||||||
import { memory, currentShare } from "../helpers/";
|
|
||||||
import { t } from "../locales/";
|
|
||||||
|
|
||||||
import "../pages/error.scss";
|
|
||||||
|
|
||||||
export function LoggedInOnly(WrappedComponent) {
|
|
||||||
memory.set("user::authenticated", false);
|
|
||||||
|
|
||||||
return class DecoratedLoggedInOnly extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
is_logged_in: memory.get("user::authenticated"),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
if (this.state.is_logged_in === false && currentShare() === null) {
|
|
||||||
Session.currentUser().then((res) => {
|
|
||||||
if (res.is_authenticated === false) {
|
|
||||||
this.props.error({ message: "Authentication Required" });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
memory.set("user::authenticated", true);
|
|
||||||
this.setState({ is_logged_in: true });
|
|
||||||
}).catch((err) => {
|
|
||||||
if (err.code === "NO_INTERNET") {
|
|
||||||
this.setState({ is_logged_in: true });
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.props.error(err);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
if (this.state.is_logged_in === true || currentShare() !== null) {
|
|
||||||
return <WrappedComponent {...this.props} />;
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function ErrorPage(WrappedComponent) {
|
|
||||||
return class DecoratedErrorPage extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
error: null,
|
|
||||||
trace: null,
|
|
||||||
showTrace: false,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
update(obj) {
|
|
||||||
this.setState({
|
|
||||||
error: obj,
|
|
||||||
trace: new URLSearchParams(location.search).get("trace") || null,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
if (this.state.error !== null) {
|
|
||||||
const message = this.state.error.message || t("There is nothing in here");
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<a href="/" className="backnav"><Icon name="arrow_left" />home</a>
|
|
||||||
<Container>
|
|
||||||
<div
|
|
||||||
className="error-page"
|
|
||||||
onClick={() => this.setState({ showTrace: true })}>
|
|
||||||
<h1>{ t("Oops!") }</h1>
|
|
||||||
<h2>{ t(message) }</h2>
|
|
||||||
{ this.state.showTrace && this.state.trace &&
|
|
||||||
<code> { this.state.trace }</code> }
|
|
||||||
</div>
|
|
||||||
</Container>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
<WrappedComponent error={this.update.bind(this)} {...this.props} />
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export const LoadingPage = () => {
|
|
||||||
return (
|
|
||||||
<div style={{ marginTop: parseInt(window.innerHeight / 3) + "px" }}>
|
|
||||||
<Loader />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
@ -1,119 +0,0 @@
|
||||||
/*
|
|
||||||
* This component was build as an alternative to the select component. The idea is
|
|
||||||
* we replace the dirty select on desktop by something more fancy but not on ios/android
|
|
||||||
* as there's just no reason for doing that.
|
|
||||||
*/
|
|
||||||
import React from "react";
|
|
||||||
import ReactDOM from "react-dom";
|
|
||||||
|
|
||||||
import { Icon, NgIf } from "./";
|
|
||||||
import "./dropdown.scss";
|
|
||||||
|
|
||||||
export class Dropdown extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
this.state = {
|
|
||||||
button: false,
|
|
||||||
};
|
|
||||||
this.$dropdown = null;
|
|
||||||
this.closeDropdown = this.closeDropdown.bind(this);
|
|
||||||
this.toggleDropdown = this.toggleDropdown.bind(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
componentDidMount() {
|
|
||||||
// TODO: soon to be deprecated, we need to refactor that component
|
|
||||||
/* eslint-disable-next-line react/no-find-dom-node */
|
|
||||||
this.$dropdown = ReactDOM.findDOMNode(this).querySelector(".dropdown_button");
|
|
||||||
// This is not really the "react" way of doing things but we needed to use both a
|
|
||||||
// click on the button and on the body (to exit the dropdown). we had issues
|
|
||||||
// that were impossible to solve the "react" way such as the dropdown button click
|
|
||||||
// event was triggered after the body click which makes it hard to cancel it ...
|
|
||||||
this.$dropdown.addEventListener("click", this.toggleDropdown);
|
|
||||||
}
|
|
||||||
|
|
||||||
componentWillUnmount() {
|
|
||||||
this.$dropdown.removeEventListener("click", this.toggleDropdown);
|
|
||||||
document.body.removeEventListener("click", this.closeDropdown);
|
|
||||||
}
|
|
||||||
|
|
||||||
onSelect(name) {
|
|
||||||
this.props.onChange(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
closeDropdown() {
|
|
||||||
document.body.removeEventListener("click", this.closeDropdown);
|
|
||||||
this.setState({ button: false });
|
|
||||||
}
|
|
||||||
|
|
||||||
toggleDropdown() {
|
|
||||||
if (this.props.enable === false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
document.body.removeEventListener("click", this.closeDropdown);
|
|
||||||
this.setState({ button: !this.state.button }, () => {
|
|
||||||
if (this.state.button === true) {
|
|
||||||
requestAnimationFrame(() => {
|
|
||||||
document.body.addEventListener("click", this.closeDropdown);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
const button = this.props.children[0];
|
|
||||||
|
|
||||||
const dropdown = React.cloneElement(this.props.children[1], {
|
|
||||||
onSelect: this.onSelect.bind(this),
|
|
||||||
});
|
|
||||||
let className = "component_dropdown ";
|
|
||||||
className += this.props.className ? this.props.className+" " : "";
|
|
||||||
className += this.state.button ? " active" : "";
|
|
||||||
return (
|
|
||||||
<div className={className}>
|
|
||||||
{ button }
|
|
||||||
{ dropdown }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
export const DropdownButton = (props) => {
|
|
||||||
return (
|
|
||||||
<div className="dropdown_button">
|
|
||||||
{ props.children }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
export const DropdownList = (props) => {
|
|
||||||
const childrens = Array.isArray(props.children) ? props.children : [props.children];
|
|
||||||
return (
|
|
||||||
<div className="dropdown_container">
|
|
||||||
<ul>
|
|
||||||
{
|
|
||||||
childrens.map((children, index) => {
|
|
||||||
const child = React.cloneElement(children, { onSelect: props.onSelect });
|
|
||||||
return (
|
|
||||||
<li key={index}>{child}</li>
|
|
||||||
);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const DropdownItem = (props) => {
|
|
||||||
return (
|
|
||||||
<div onClick={props.onSelect.bind(null, props.name)}>
|
|
||||||
{props.children}
|
|
||||||
<NgIf cond={!!props.icon} type="inline">
|
|
||||||
<span style={{ float: "right" }}>
|
|
||||||
<Icon name={props.icon} />
|
|
||||||
</span>
|
|
||||||
</NgIf>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
@ -1,64 +0,0 @@
|
||||||
.component_dropdown{
|
|
||||||
position: relative;
|
|
||||||
.dropdown_container{display: none; position: absolute; right: 0;}
|
|
||||||
|
|
||||||
.dropdown_button{
|
|
||||||
border: 1px solid rgba(0,0,0,0);
|
|
||||||
border-radius: 4px;
|
|
||||||
padding: 5px;
|
|
||||||
min-width: 20px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.dropdown_container{
|
|
||||||
&:before{
|
|
||||||
content: ' ';
|
|
||||||
position: absolute;
|
|
||||||
right: 10px;
|
|
||||||
top: 1px;
|
|
||||||
width: 0;
|
|
||||||
height: 0;
|
|
||||||
border-left: 6px solid transparent;
|
|
||||||
border-right: 6px solid transparent;
|
|
||||||
border-bottom: 6px solid white;
|
|
||||||
}
|
|
||||||
padding-top: 5px;
|
|
||||||
z-index: 3;
|
|
||||||
ul{
|
|
||||||
margin: 0;
|
|
||||||
list-style-type: none;
|
|
||||||
background: white;
|
|
||||||
border: 1px solid var(--bg-color);
|
|
||||||
box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
|
|
||||||
color: var(--emphasis-secondary);
|
|
||||||
border-radius: 3px;
|
|
||||||
padding: 3px 0px;
|
|
||||||
font-size: 0.92em;
|
|
||||||
li{
|
|
||||||
display: flex;
|
|
||||||
> div{
|
|
||||||
width: 150px;
|
|
||||||
padding: 8px 5px 8px 10px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.component_dropdown{
|
|
||||||
&.active{
|
|
||||||
.dropdown_container{
|
|
||||||
display: block;
|
|
||||||
li{
|
|
||||||
background: white;
|
|
||||||
transition: background 0.1s ease-out;
|
|
||||||
&:hover{
|
|
||||||
background: rgba(0,0,0,0.05);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.dropdown_button{
|
|
||||||
border-color: var(--bg-color);
|
|
||||||
box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,81 +0,0 @@
|
||||||
// cheap event system that handle subscription, unsubscriptions and event emitions
|
|
||||||
import React from "react";
|
|
||||||
import { randomString } from "../helpers/";
|
|
||||||
const emitters = {};
|
|
||||||
|
|
||||||
function subscribe(key, event, fn) {
|
|
||||||
if (emitters[event]) {
|
|
||||||
emitters[event][key] = fn;
|
|
||||||
} else {
|
|
||||||
emitters[event] = {};
|
|
||||||
emitters[event][key] = fn;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function unsubscribe(key, event) {
|
|
||||||
if (emitters[event]) {
|
|
||||||
if (key) {
|
|
||||||
delete emitters[event][key];
|
|
||||||
} else {
|
|
||||||
delete emitters[event];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function emit(event, payload) {
|
|
||||||
// trigger events if needed
|
|
||||||
if (emitters[event]) {
|
|
||||||
return Promise.all(Object.keys(emitters[event]).map((key) => {
|
|
||||||
return emitters[event][key].apply(null, payload);
|
|
||||||
})).then((res) => {
|
|
||||||
return emitters[event] ?
|
|
||||||
Promise.resolve(res) :
|
|
||||||
Promise.reject({ message: "do not exist", code: "CANCELLED" });
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
return Promise.reject({ message: "oups, something went wrong", code: "NO_LISTENERS" });
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function EventReceiver(WrappedComponent) {
|
|
||||||
const id = randomString();
|
|
||||||
|
|
||||||
return class extends React.Component {
|
|
||||||
subscribe(event, callback) {
|
|
||||||
subscribe(id, event, callback);
|
|
||||||
}
|
|
||||||
|
|
||||||
unsubscribe(event) {
|
|
||||||
unsubscribe(id, event);
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<WrappedComponent subscribe={this.subscribe} unsubscribe={this.unsubscribe}
|
|
||||||
{...this.props} />
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function EventEmitter(WrappedComponent) {
|
|
||||||
return class extends React.Component {
|
|
||||||
emit() {
|
|
||||||
// reconstruct arguments
|
|
||||||
const args = Array.prototype.slice.call(arguments);
|
|
||||||
const event = args.shift();
|
|
||||||
const payload = args;
|
|
||||||
|
|
||||||
const res = emit(event, payload);
|
|
||||||
if (res.then) {
|
|
||||||
return res;
|
|
||||||
} else {
|
|
||||||
return Promise.resolve(res);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return <WrappedComponent emit={this.emit} {...this.props} />;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import "./fab.scss";
|
|
||||||
|
|
||||||
export function Fab(props) {
|
|
||||||
return (
|
|
||||||
<div className="component_fab" onClick={props.onClick}>
|
|
||||||
<div className="content">
|
|
||||||
{props.children}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
.component_fab{
|
|
||||||
position: fixed;
|
|
||||||
bottom: 20px;
|
|
||||||
right: 20px;
|
|
||||||
z-index: 2;
|
|
||||||
.content{
|
|
||||||
height: 25px;
|
|
||||||
width: 25px;
|
|
||||||
padding: 13px;
|
|
||||||
border-radius: 50%;
|
|
||||||
background: var(--color);
|
|
||||||
box-shadow: rgba(0, 0, 0, 0.14) 0px 4px 5px 0px, rgba(0, 0, 0, 0.12) 0px 1px 10px 0px, rgba(0, 0, 0, 0.2) 0px 2px 4px -1px;
|
|
||||||
z-index: 1000;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,346 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import PropTypes from "prop-types";
|
|
||||||
|
|
||||||
import { Input, Textarea, Select, Enabler, Icon } from "./";
|
|
||||||
import { FormObjToJSON, format, autocomplete, notify, gid } from "../helpers/";
|
|
||||||
import { t } from "../locales/";
|
|
||||||
|
|
||||||
import "./formbuilder.scss";
|
|
||||||
|
|
||||||
export class FormBuilder extends React.Component {
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
}
|
|
||||||
|
|
||||||
section(struct, key, level = 0) {
|
|
||||||
if (struct == null) struct = "";
|
|
||||||
const isALeaf = function(struct) {
|
|
||||||
if ("label" in struct && "type" in struct &&
|
|
||||||
"value" in struct && "default" in struct) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
};
|
|
||||||
|
|
||||||
if (Array.isArray(struct)) return null;
|
|
||||||
else if (isALeaf(struct) === false) {
|
|
||||||
const [normal, advanced] = function(s) {
|
|
||||||
const _normal = [];
|
|
||||||
const _advanced = [];
|
|
||||||
for (const key in s) {
|
|
||||||
const tmp = { key: key, data: s[key] };
|
|
||||||
"id" in s[key] ? _advanced.push(tmp) : _normal.push(tmp);
|
|
||||||
}
|
|
||||||
return [_normal, _advanced];
|
|
||||||
}(struct);
|
|
||||||
if (level <= 1) {
|
|
||||||
return (
|
|
||||||
<div className="formbuilder">
|
|
||||||
{
|
|
||||||
key ? <h2 className="no-select">{ format(key) }</h2> : ""
|
|
||||||
}
|
|
||||||
{
|
|
||||||
normal.map((s, index) => {
|
|
||||||
return (
|
|
||||||
<div key={s.key+"-"+index}>
|
|
||||||
{ this.section(s.data, s.key, level + 1) }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
<div className="advanced_form">
|
|
||||||
{
|
|
||||||
advanced.map((s, index) => {
|
|
||||||
return (
|
|
||||||
<div key={s.key+"-"+index}>
|
|
||||||
{ this.section(s.data, s.key, level + 1) }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<fieldset>
|
|
||||||
<legend className="no-select">{ format(key) }</legend>
|
|
||||||
{
|
|
||||||
Object.keys(struct).map((key, index) => {
|
|
||||||
return (
|
|
||||||
<div key={key+"-"+index}>
|
|
||||||
{ this.section(struct[key], key, level + 1) }
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</fieldset>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const id = {};
|
|
||||||
let target = [];
|
|
||||||
if (struct.id !== undefined) {
|
|
||||||
id.id = this.props.idx === undefined ? struct.id : struct.id + "_" + this.props.idx;
|
|
||||||
}
|
|
||||||
if (struct.type === "enable") {
|
|
||||||
target = struct.target.map((target) => {
|
|
||||||
return this.props.idx === undefined ? target : target + "_" + this.props.idx;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const onChange = function(e, fn) {
|
|
||||||
struct.value = e;
|
|
||||||
if (typeof fn === "function") {
|
|
||||||
fn(struct);
|
|
||||||
}
|
|
||||||
this.props.onChange.call(
|
|
||||||
this,
|
|
||||||
FormObjToJSON(this.props.form),
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
|
||||||
<FormElement render={this.props.render}
|
|
||||||
onChange={onChange.bind(this)} {...id}
|
|
||||||
params={struct} target={target} name={ format(struct.label) }
|
|
||||||
autoComplete={this.props.autoComplete} />
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return this.section(this.props.form || {});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const FormElement = ({
|
|
||||||
autoComplete = false,
|
|
||||||
...props
|
|
||||||
}) => {
|
|
||||||
const id = props.id !== undefined ? { id: props.id } : {};
|
|
||||||
const inputAttr = autoComplete === false ? {
|
|
||||||
autoComplete: "off",
|
|
||||||
autoCorrect: "off",
|
|
||||||
autoCapitalize: "off",
|
|
||||||
spellCheck: "off",
|
|
||||||
} : {
|
|
||||||
autoComplete: "on",
|
|
||||||
autoCorrect: "off",
|
|
||||||
autoCapitalize: "off",
|
|
||||||
spellCheck: "off",
|
|
||||||
};
|
|
||||||
const struct = props.params;
|
|
||||||
let $input = (
|
|
||||||
<Input onChange={(e) => props.onChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
type="text" defaultValue={struct.value} placeholder={ t(struct.placeholder) } />
|
|
||||||
);
|
|
||||||
switch (props.params["type"]) {
|
|
||||||
case "text": {
|
|
||||||
const onTextChange = (value) => {
|
|
||||||
if (value === "") {
|
|
||||||
value = null;
|
|
||||||
}
|
|
||||||
props.onChange(value);
|
|
||||||
};
|
|
||||||
|
|
||||||
const list_id = struct.datalist ? gid("list_") : null;
|
|
||||||
$input = (
|
|
||||||
<Input list={list_id} onChange={(e) => onTextChange(e.target.value)} {...id}
|
|
||||||
name={struct.label} type="text" value={struct.value || ""}
|
|
||||||
placeholder={ t(struct.placeholder) } readOnly={struct.readonly}
|
|
||||||
{...inputAttr} />
|
|
||||||
);
|
|
||||||
if (list_id != null) {
|
|
||||||
const filtered = function(multi, datalist, currentValue) {
|
|
||||||
if (multi !== true || currentValue == null) return datalist;
|
|
||||||
|
|
||||||
return autocomplete(
|
|
||||||
currentValue
|
|
||||||
.split(",")
|
|
||||||
.map((t) => t.trim())
|
|
||||||
.filter((t) => t),
|
|
||||||
datalist,
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$input = (
|
|
||||||
<span>
|
|
||||||
{ $input }
|
|
||||||
<datalist id={list_id}>
|
|
||||||
{
|
|
||||||
filtered(struct.multi, struct.datalist, struct.value).map((item, i) => {
|
|
||||||
return ( <option key={i} value={item} /> );
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</datalist>
|
|
||||||
</span>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "number": {
|
|
||||||
const onNumberChange = (value) => {
|
|
||||||
value = value === "" ? null : parseInt(value);
|
|
||||||
props.onChange(value);
|
|
||||||
};
|
|
||||||
$input = (
|
|
||||||
<Input onChange={(e) => onNumberChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
type="number" value={struct.value === null ? "" : struct.value}
|
|
||||||
placeholder={ t(struct.placeholder) } />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "password": {
|
|
||||||
const onPasswordChange = (value) => {
|
|
||||||
if (value === "") {
|
|
||||||
value = null;
|
|
||||||
}
|
|
||||||
props.onChange(value);
|
|
||||||
};
|
|
||||||
const onClickEye = (e) => {
|
|
||||||
e.preventDefault();
|
|
||||||
let $input = e.target.parentElement.childNodes[0];
|
|
||||||
$input.getAttribute("type") === "password" ?
|
|
||||||
$input.setAttribute("type", "text") :
|
|
||||||
$input.setAttribute("type", "password");
|
|
||||||
}
|
|
||||||
$input = (
|
|
||||||
<div className="formbuilder_password">
|
|
||||||
<Input onChange={(e) => onPasswordChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
type="password" value={struct.value || ""} placeholder={ t(struct.placeholder) }
|
|
||||||
{...inputAttr} />
|
|
||||||
<Icon name="eye" onClick={onClickEye}/>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "long_password": {
|
|
||||||
const onLongPasswordChange = (value) => {
|
|
||||||
if (value === "") {
|
|
||||||
value = null;
|
|
||||||
}
|
|
||||||
props.onChange(value);
|
|
||||||
};
|
|
||||||
$input = (
|
|
||||||
<Textarea {...id} disabledEnter={true} value={struct.value || ""}
|
|
||||||
onChange={(e) => onLongPasswordChange(e.target.value)} type="text" rows="1"
|
|
||||||
name={struct.label} placeholder={ t(struct.placeholder) }
|
|
||||||
{...inputAttr} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "long_text":
|
|
||||||
$input = (
|
|
||||||
<Textarea {...id} disabledEnter={true} value={struct.value || ""}
|
|
||||||
onChange={(e) => props.onChange(e.target.value)}
|
|
||||||
type="text" rows="8" name={struct.label} placeholder={ t(struct.placeholder) }
|
|
||||||
{...inputAttr} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "bcrypt": {
|
|
||||||
const onBcryptChange = (value) => {
|
|
||||||
if (value === "") {
|
|
||||||
return props.onChange(null);
|
|
||||||
}
|
|
||||||
return import(/* webpackChunkName: "bcrypt" */"../helpers/bcrypt")
|
|
||||||
.catch((err) => notify.send(err && err.message, "error"))
|
|
||||||
.then((bcrypt) => bcrypt.bcrypt_password(value))
|
|
||||||
.then((hash) => props.onChange(hash));
|
|
||||||
};
|
|
||||||
$input = (
|
|
||||||
<Input onChange={(e) => onBcryptChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
type="password" defaultValue={struct.value || ""}
|
|
||||||
placeholder={ t(struct.placeholder) }
|
|
||||||
{...inputAttr} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "hidden":
|
|
||||||
$input = (
|
|
||||||
<Input name={struct.label} type="hidden" defaultValue={struct.value} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "boolean":
|
|
||||||
$input = (
|
|
||||||
<Input onChange={(e) => props.onChange(e.target.checked)} {...id} name={struct.label}
|
|
||||||
type="checkbox" checked={struct.value === null ? !!struct.default : struct.value} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "select":
|
|
||||||
$input = (
|
|
||||||
<Select onChange={(e) => props.onChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
choices={struct.options} placeholder={ t(struct.placeholder) }
|
|
||||||
value={struct.value === null ? struct.default : struct.value} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "enable":
|
|
||||||
$input = (
|
|
||||||
<Enabler onChange={(e) => props.onChange(e.target.checked)} {...id} name={struct.label}
|
|
||||||
target={props.target}
|
|
||||||
defaultValue={struct.value === null ? struct.default : struct.value} />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "date":
|
|
||||||
$input = (
|
|
||||||
<Input onChange={(e) => props.onChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
type="date" defaultValue={struct.value || ""}
|
|
||||||
placeholder={ t(struct.placeholder) } />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "datetime":
|
|
||||||
$input = (
|
|
||||||
<Input onChange={(e) => props.onChange(e.target.value)} {...id} name={struct.label}
|
|
||||||
type="datetime-local" defaultValue={struct.value || ""}
|
|
||||||
placeholder={ t(struct.placeholder) } />
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
case "image":
|
|
||||||
$input = ( <img {...id} src={struct.value} /> );
|
|
||||||
break;
|
|
||||||
case "file": {
|
|
||||||
const getBase64 = function(file) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
const reader = new window.FileReader();
|
|
||||||
reader.readAsDataURL(file);
|
|
||||||
reader.onload = () => resolve(reader.result);
|
|
||||||
reader.onerror = (error) => reject(error);
|
|
||||||
});
|
|
||||||
};
|
|
||||||
const onFileUpload = (e) => {
|
|
||||||
if (e.target.files.length !== 1) return;
|
|
||||||
if (e.target.files[0].size < 200000000) {
|
|
||||||
getBase64(e.target.files[0]).then((a) => {
|
|
||||||
props.onChange(a);
|
|
||||||
}).catch(() => {});
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
notify.send("File is too large", "WARNING");
|
|
||||||
};
|
|
||||||
$input = (
|
|
||||||
<div className="fileupload-image">
|
|
||||||
<input onChange={(e) => onFileUpload(e)} type="file" {...id} name={struct.label} />
|
|
||||||
{
|
|
||||||
struct.value.substring(0, 10) === "data:image" ?
|
|
||||||
<img src={struct.value} /> : null
|
|
||||||
}
|
|
||||||
{
|
|
||||||
struct.value.substring(0, 20) === "data:application/pdf" ?
|
|
||||||
<object data={struct.value} type="application/pdf" /> : null
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case "oauth2":
|
|
||||||
$input = null;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return props.render($input, props, struct, props.onChange.bind(null, null));
|
|
||||||
};
|
|
||||||
|
|
||||||
FormElement.propTypes = {
|
|
||||||
render: PropTypes.func.isRequired,
|
|
||||||
};
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
.formbuilder{
|
|
||||||
.description{
|
|
||||||
margin-top: -2px;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
opacity: 0.6;
|
|
||||||
font-size: 0.9em;
|
|
||||||
line-height: 1em;
|
|
||||||
text-align: justify;
|
|
||||||
}
|
|
||||||
|
|
||||||
input::placeholder, textarea::placeholder{
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
|
|
||||||
label.input_type_hidden{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
fieldset{
|
|
||||||
legend{
|
|
||||||
text-transform: uppercase;
|
|
||||||
font-weight: 200;
|
|
||||||
font-size: 1em;
|
|
||||||
padding: 0 15px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
img{
|
|
||||||
max-height: 110px;
|
|
||||||
border: 8px solid rgba(0,0,0,0);
|
|
||||||
}
|
|
||||||
|
|
||||||
.fileupload-image{
|
|
||||||
img{
|
|
||||||
height: 150px;
|
|
||||||
width: 100%;
|
|
||||||
object-fit: contain;
|
|
||||||
background: var(--bg-color);
|
|
||||||
border-radius: 2px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
object{
|
|
||||||
background: var(--bg-color);
|
|
||||||
height: 300px;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.formbuilder_password {
|
|
||||||
display: flex;
|
|
||||||
&:focus-within img.component_icon {
|
|
||||||
border-color: var(--emphasis-primary);
|
|
||||||
}
|
|
||||||
img.component_icon {
|
|
||||||
height: 20px;
|
|
||||||
border: none;
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 5px 5px;
|
|
||||||
border-bottom: 2px solid rgba(70, 99, 114, 0.1);
|
|
||||||
transition: border-color 0.2s ease-out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,169 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
import { Log } from "../model/";
|
|
||||||
import "./icon.scss";
|
|
||||||
|
|
||||||
import img_save from "../assets/img/save.svg";
|
|
||||||
import img_power from "../assets/img/power.svg";
|
|
||||||
import img_bucket from "../assets/img/bucket.svg";
|
|
||||||
import img_loading from "../assets/img/loader.svg";
|
|
||||||
import img_play from "../assets/img/play.svg";
|
|
||||||
import img_pause from "../assets/img/pause.svg";
|
|
||||||
import img_error from "../assets/img/error.svg";
|
|
||||||
import img_loading_white from "../assets/img/loader_white.svg";
|
|
||||||
import img_download_white from "../assets/img/download_white.svg";
|
|
||||||
import img_upload_white from "../assets/img/upload_white.svg";
|
|
||||||
import img_todo_white from "../assets/img/todo_white.svg";
|
|
||||||
import img_calendar_white from "../assets/img/calendar_white.svg";
|
|
||||||
import img_calendar from "../assets/img/calendar.svg";
|
|
||||||
import img_alarm from "../assets/img/alarm.svg";
|
|
||||||
import img_arrow_right from "../assets/img/arrow_right.svg";
|
|
||||||
import img_arrow_right_white from "../assets/img/arrow_right_white.svg";
|
|
||||||
import img_arrow_left_white from "../assets/img/arrow_left_white.svg";
|
|
||||||
import img_arrow_left from "../assets/img/arrow_left.svg";
|
|
||||||
import img_arrow_top from "../assets/img/arrow_top.svg";
|
|
||||||
import img_arrow_bottom from "../assets/img/arrow_bottom.svg";
|
|
||||||
import img_more from "../assets/img/more.svg";
|
|
||||||
import img_close from "../assets/img/close.svg";
|
|
||||||
import img_close_dark from "../assets/img/close_dark.svg";
|
|
||||||
import img_arrow_down from "../assets/img/arrow-down.svg";
|
|
||||||
import img_arrow_up_double from "../assets/img/arrow-up-double.svg";
|
|
||||||
import img_arrow_down_double from "../assets/img/arrow-down-double.svg";
|
|
||||||
import img_search from "../assets/img/search.svg";
|
|
||||||
import img_search_dark from "../assets/img/search_dark.svg";
|
|
||||||
import img_grid from "../assets/img/grid.svg";
|
|
||||||
import img_list from "../assets/img/list.svg";
|
|
||||||
import img_sort from "../assets/img/sort.svg";
|
|
||||||
import img_check from "../assets/img/check.svg";
|
|
||||||
import img_info from "../assets/img/info.svg";
|
|
||||||
import img_fullscreen from "../assets/img/fullscreen.svg";
|
|
||||||
import img_camera from "../assets/img/camera.svg";
|
|
||||||
import img_location from "../assets/img/location.svg";
|
|
||||||
import img_stop from "../assets/img/stop.svg";
|
|
||||||
import img_refresh from "../assets/img/refresh.svg";
|
|
||||||
import img_copy from "../assets/img/copy.svg";
|
|
||||||
import img_eye from "../assets/img/eye.svg";
|
|
||||||
import img_volume from "../assets/img/volume.svg";
|
|
||||||
import img_volume_mute from "../assets/img/volume_mute.svg";
|
|
||||||
import img_volume_low from "../assets/img/volume_low.svg";
|
|
||||||
|
|
||||||
export const img_placeholder = "/assets/icons/placeholder.png";
|
|
||||||
|
|
||||||
export const Icon = (props) => {
|
|
||||||
if (props.name === null) return null;
|
|
||||||
let img;
|
|
||||||
if (props.name === "directory") {
|
|
||||||
img = "/assets/icons/folder.svg";
|
|
||||||
} else if (props.name === "file") {
|
|
||||||
img = "/assets/icons/file.svg";
|
|
||||||
} else if (props.name === "save") {
|
|
||||||
img = img_save;
|
|
||||||
} else if (props.name === "power") {
|
|
||||||
img = img_power;
|
|
||||||
} else if (props.name === "edit") {
|
|
||||||
img = "/assets/icons/edit.svg";
|
|
||||||
} else if (props.name === "delete") {
|
|
||||||
img = "/assets/icons/delete.svg";
|
|
||||||
} else if (props.name === "share") {
|
|
||||||
img = "/assets/icons/share.svg";
|
|
||||||
} else if (props.name === "tag") {
|
|
||||||
img = "/assets/icons/tag.svg";
|
|
||||||
} else if (props.name === "bucket") {
|
|
||||||
img = img_bucket;
|
|
||||||
} else if (props.name === "download_white") {
|
|
||||||
img = img_download_white;
|
|
||||||
} else if (props.name === "upload_white") {
|
|
||||||
img = img_upload_white;
|
|
||||||
} else if (props.name === "play") {
|
|
||||||
img = img_play;
|
|
||||||
} else if (props.name === "pause") {
|
|
||||||
img = img_pause;
|
|
||||||
} else if (props.name === "error") {
|
|
||||||
img = img_error;
|
|
||||||
} else if (props.name === "loading_white") {
|
|
||||||
img = img_loading_white;
|
|
||||||
} else if (props.name === "loading") {
|
|
||||||
img = img_loading;
|
|
||||||
} else if (props.name === "calendar_white") {
|
|
||||||
img = img_calendar_white;
|
|
||||||
} else if (props.name === "schedule") {
|
|
||||||
img = img_calendar;
|
|
||||||
} else if (props.name === "deadline") {
|
|
||||||
img = img_alarm;
|
|
||||||
} else if (props.name === "todo_white") {
|
|
||||||
img = img_todo_white;
|
|
||||||
} else if (props.name === "arrow_bottom") {
|
|
||||||
img = img_arrow_bottom;
|
|
||||||
} else if (props.name === "arrow_top") {
|
|
||||||
img = img_arrow_top;
|
|
||||||
} else if (props.name === "arrow_right") {
|
|
||||||
img = img_arrow_right;
|
|
||||||
} else if (props.name === "arrow_right_white") {
|
|
||||||
img = img_arrow_right_white;
|
|
||||||
} else if (props.name === "arrow_left_white") {
|
|
||||||
img = img_arrow_left_white;
|
|
||||||
} else if (props.name === "arrow_left") {
|
|
||||||
img = img_arrow_left;
|
|
||||||
} else if (props.name === "more") {
|
|
||||||
img = img_more;
|
|
||||||
} else if (props.name === "close") {
|
|
||||||
img = img_close;
|
|
||||||
} else if (props.name === "close_dark") {
|
|
||||||
img = img_close_dark;
|
|
||||||
} else if (props.name === "arrow_up_double") {
|
|
||||||
img = img_arrow_up_double;
|
|
||||||
} else if (props.name === "arrow_down_double") {
|
|
||||||
img = img_arrow_down_double;
|
|
||||||
} else if (props.name === "arrow_down") {
|
|
||||||
img = img_arrow_down;
|
|
||||||
} else if (props.name === "search") {
|
|
||||||
img = img_search;
|
|
||||||
} else if (props.name === "search_dark") {
|
|
||||||
img = img_search_dark;
|
|
||||||
} else if (props.name === "grid") {
|
|
||||||
img = img_grid;
|
|
||||||
} else if (props.name === "list") {
|
|
||||||
img = img_list;
|
|
||||||
} else if (props.name === "sort") {
|
|
||||||
img = img_sort;
|
|
||||||
} else if (props.name === "check") {
|
|
||||||
img = img_check;
|
|
||||||
} else if (props.name === "info") {
|
|
||||||
img = img_info;
|
|
||||||
} else if (props.name === "fullscreen") {
|
|
||||||
img = img_fullscreen;
|
|
||||||
} else if (props.name === "camera") {
|
|
||||||
img = img_camera;
|
|
||||||
} else if (props.name === "location") {
|
|
||||||
img = img_location;
|
|
||||||
} else if (props.name === "stop") {
|
|
||||||
img = img_stop;
|
|
||||||
} else if (props.name === "refresh") {
|
|
||||||
img = img_refresh;
|
|
||||||
} else if (props.name === "copy") {
|
|
||||||
img = img_copy;
|
|
||||||
} else if (props.name === "empty_folder") {
|
|
||||||
img = "/assets/icons/empty_folder.svg";
|
|
||||||
} else if (props.name === "empty_search") {
|
|
||||||
img = "/assets/icons/empty_search.svg";
|
|
||||||
} else if (props.name === "eye") {
|
|
||||||
img = img_eye;
|
|
||||||
} else if (props.name === "volume") {
|
|
||||||
img = img_volume;
|
|
||||||
} else if (props.name === "volume_mute") {
|
|
||||||
img = img_volume_mute;
|
|
||||||
} else if (props.name === "volume_low") {
|
|
||||||
img = img_volume_low;
|
|
||||||
} else {
|
|
||||||
throw (new Error(`unknown icon: "${props.name}"`));
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<img className="component_icon"
|
|
||||||
draggable={false}
|
|
||||||
onError={() => Log.send(`cannot load icon ${props.name}`)}
|
|
||||||
style={props.style}
|
|
||||||
onClick={props.onClick}
|
|
||||||
src={img}
|
|
||||||
alt={props.name}/>
|
|
||||||
);
|
|
||||||
};
|
|
||||||