Bilibili-Evolved/utils/gui-settings/gui-settings.scss
2018-12-07 20:33:31 +08:00

553 lines
11 KiB
SCSS

.gui-settings-icon-panel
{
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: fixed;
top: 0;
left: 0;
width: 24px;
z-index: 99999;
}
.gui-settings,
.gui-settings-widgets
{
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
margin: 16px 0;
width: 24px;
height: 24px;
transition: all 0.2s;
opacity: 0.3;
transform-origin: center !important;
transform: translateX(-12px) rotate(180deg);
}
.gui-settings:hover,
.gui-settings-widgets:hover
{
opacity: 1;
transform: translateX(0px) rotate(0deg);
}
.gui-settings-footer,
.gui-settings-header
{
flex-grow: 0;
display: flex;
align-items: center;
flex-shrink: 0;
z-index: 10;
padding: 32px;
}
.gui-settings-footer
{
height: 80px;
justify-content: center;
position: relative;
}
.gui-settings-content
{
flex-grow: 1;
overflow: auto;
position: relative;
overscroll-behavior: contain;
}
.gui-settings-content ul
{
padding: 0;
margin: 0;
}
.gui-settings-content ul li
{
font-size: 16px;
margin-bottom: 18px;
display: flex;
height: 24px;
transition: all .2s;
}
.gui-settings-content ul li.disabled,
.gui-settings-content ul li:not(.category).folded
{
height: 0;
margin: 0;
overflow: hidden;
}
.gui-settings-content ul li.indent-0
{
margin-left: 16px;
}
.gui-settings-content ul li.indent-1
{
margin-left: 80px;
}
.gui-settings-content ul li.indent-2
{
margin-left: 144px;
}
.gui-settings-content ul li.indent-center
{
align-items: center;
justify-content: center;
}
.gui-settings-content ul li.category
{
padding: 16px 0;
margin-bottom: 18px;
border-top: 1px dashed #8884;
border-bottom: 1px dashed #8884;
background: white;
position: sticky;
top: 0;
z-index: 10;
cursor: pointer;
transition: all .2s ease-out;
-webkit-tap-highlight-color: transparent;
}
.gui-settings-content ul li.category.folded
{
margin-bottom: -1px;
}
.gui-settings-content ul li.category *
{
opacity: 0.8;
}
.gui-settings-title
{
flex-grow: 1;
font-size: 16pt;
}
.gui-settings-close
{
width: 24px;
height: 24px;
padding: 16px;
}
.gui-settings-header .gui-settings-close
{
cursor: pointer;
-webkit-tap-highlight-color: transparent;
}
.gui-settings-textbox-container
{
display: flex;
justify-content: center;
align-items: center;
-webkit-tap-highlight-color: transparent;
}
.gui-settings-textbox-container span,
.gui-settings-dropdown-span
{
margin: 0 16px;
transition: all 0.2s;
}
.gui-settings-textbox-container input
{
border: none;
height: 100%;
max-width: 80px;
padding: 4px 8px;
background: #8884;
transition: all 0.2s;
font-size: 16px;
}
.gui-settings-textbox-container input:disabled,
.gui-settings-textbox-container.disabled span,
.gui-settings-textbox-container.disabled div
{
opacity: 0.5;
}
.gui-settings-checkbox-container
{
cursor: pointer;
display: flex;
width: 100%;
justify-content: start;
align-items: center;
padding: 0 16px;
-webkit-tap-highlight-color: transparent;
}
.gui-settings-checkbox-container input
{
visibility: collapse;
transition: all 0.2s;
width: 0;
}
.gui-settings-checkbox-container .gui-settings-ok
{
width: 24px;
height: 24px;
margin-right: 16px;
transition: all 0.2s;
}
.gui-settings-checkbox-container input ~ .gui-settings-ok
{
background-color: #8884;
}
.gui-settings-checkbox-container input:checked ~ .gui-settings-ok
{
background-color: $customStyleColor;
}
.gui-settings-checkbox-container input ~ .gui-settings-ok>i
{
opacity: 0;
transform-origin: center;
transform: scale(0.9);
}
.gui-settings-checkbox-container input:checked ~ .gui-settings-ok>i
{
opacity: 1;
}
.gui-settings-checkbox-container input:disabled ~ .gui-settings-ok,
.gui-settings-checkbox-container input:disabled ~ span
{
opacity: 0.5;
}
button.gui-settings-button
{
padding: 6px 20px;
margin: 0 4px;
max-height: 34px;
border: none;
background: #8884;
font-size: 16px;
cursor: pointer;
transition: all 0.2s ease-out;
font-family: inherit;
-webkit-tap-highlight-color: transparent;
}
button.gui-settings-button:hover
{
opacity: .9;
}
button.gui-settings-button:active
{
opacity: .8;
}
button.gui-settings-button:focus
{
outline: none;
}
.custom-color-preview
{
width: 28px;
height: 28px;
border-radius: 50%;
background: $customStyleColor;
margin-right: 16px;
border: 1px solid #8884;
position: relative;
cursor: pointer;
box-sizing: border-box;
box-shadow: 0px 2px 8px 1px $customStyleColor70;
}
.predefined-colors
{
transition: all 0.2s;
display: flex;
opacity: 0;
background: white;
width: 168px;
height: 168px;
position: absolute;
box-shadow: 0px 3px 20px 2px #0004;
top: 32px;
left: calc(-84px + 50%);
transform: scale(0);
transform-origin: top;
z-index: 9;
}
.predefined-colors.opened
{
opacity: 1;
transform: scale(1);
}
.predefined-colors-grid
{
display: grid;
grid-template-columns: auto auto auto auto;
margin: 4px;
flex-grow: 1;
}
.predefined-colors-grid-block
{
width: 100%;
height: 100%;
justify-self: center;
align-self: center;
cursor: pointer;
transform-origin: center;
transition: all .1s ease-out;
}
.predefined-colors-grid-block:hover
{
transform: scale(1.1);
box-shadow: 0 0 8px 1px #0004;
}
input[key]:focus
{
outline: none;
}
input[type=text][key]
{
height: auto;
border: none;
}
.gui-settings-label
{
margin: 0 16px;
font-size: 16px;
}
.hidden
{
display: none !important;
}
@supports (backdrop-filter: blur(24px)) or (-webkit-backdrop-filter: blur(24px))
{
.gui-settings-box.blur li.category
{
-webkit-backdrop-filter: blur(24px);
backdrop-filter: blur(24px);
background: transparent;
}
.gui-settings-box.blur,
.gui-settings-box.blur .gui-settings-content,
.gui-settings-box.blur .gui-settings-header,
.gui-settings-box.blur .gui-settings-footer
{
background: #fff8;
}
.gui-settings-box.blur .gui-settings-content,
.gui-settings-box.blur .gui-settings-header,
.gui-settings-box.blur .gui-settings-footer
{
-webkit-backdrop-filter: blur(64px);
backdrop-filter: blur(64px);
}
}
li.category i.icon-arrow
{
transition: all .2s ease-out;
}
li.category.folded i.icon-arrow
{
transform: rotate(180deg);
}
.gui-settings-dropdown
{
position: relative;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
background-color: #8884;
display: inline-flex;
align-items: center;
}
.gui-settings-dropdown>i
{
transition: all .2s ease-out;
transform-origin: center;
transform: rotate(180deg);
}
.gui-settings-dropdown>ul
{
position: absolute;
top: calc(100%);
width: 100%;
cursor: pointer;
background: white;
transform-origin: top;
transform: scaleY(0);
transition: all .2s ease-out;
display: flex;
flex-direction: column;
align-items: center;
box-shadow: 0px 3px 20px 2px #0004;
z-index: 100;
}
.gui-settings-dropdown ul li
{
margin: 0;
padding: 12px 0;
height: auto;
width: 100%;
justify-content: center;
}
.gui-settings-dropdown ul li:hover
{
background: rgba(0,0,0,0.16);
}
.gui-settings-dropdown.opened>ul
{
transform: scaleY(1);
}
.gui-settings-dropdown.opened>i
{
transform: rotate(0deg);
}
.gui-settings-dropdown input
{
cursor: pointer;
border: none;
height: 100%;
max-width: 80px;
padding: 4px 8px;
transition: all 0.2s;
font-size: 16px;
background-color: transparent;
}
.gui-settings-mask
{
height: calc(100% + 5px);
width: calc(100% + 5px);
opacity: 0;
background: #000a;
position: fixed;
top: 0;
left: 0;
z-index: 100000;
pointer-events: none;
transition: all .3s cubic-bezier(0, 0.86, 0.58, 1);
overscroll-behavior: contain;
}
.gui-settings-mask.opened
{
opacity: 1;
pointer-events: initial;
}
.gui-settings-widgets-box,
.gui-settings-box
{
height: 100%;
width: 400px;
background: white;
color: #000;
position: fixed;
top: 0;
left: 0;
z-index: 100000;
transform: translateX(-100%);
transition: all .3s cubic-bezier(0, 0.86, 0.58, 1);
display: flex;
flex-direction: column;
box-shadow: 4px 0px 16px 0px #0000;
}
.gui-settings-widgets-box
{
width: 200px;
}
.gui-settings-widgets-box.opened,
.gui-settings-box.opened
{
transform: translateX(0);
box-shadow: 4px 0px 16px 0px #0005;
}
.gui-settings-widgets-box>.title
{
margin: 32px;
font-size: 16pt;
}
.gui-settings-widgets-box>.widgets-container
{
padding: 32px;
display: flex;
flex-direction: column;
align-items: stretch;
justify-content: start;
position: relative;
overscroll-behavior: contain;
overflow: auto;
height: 100%;
}
.gui-settings-widgets-box>.widgets-container:empty::after
{
content: "当前页面没有可用的附加功能.";
font-size: 10pt;
}
.gui-settings-flat-button,
.gui-settings-flat-button a,
.gui-settings-flat-button a:hover
{
display: flex;
align-items: center;
justify-content: center;
color: inherit;
}
.gui-settings-flat-button
{
width: auto;
padding: 8px 16px;
background: #8884;
border: none;
color: black;
cursor: pointer;
transition: all .2s ease-out;
transform-origin: center;
font-size: 10pt;
}
.gui-settings-flat-button:hover
{
transform: scale(1.02);
}
.gui-settings-flat-button:active
{
transform: scale(0.98);
}
.gui-settings-flat-button:focus
{
outline: none;
}
.gui-settings-flat-button i
{
margin-right: 8px;
}
.gui-settings-widgets-box .gui-settings-flat-button
{
border-bottom: 2px solid $customStyleColor;
flex: 0 0 auto;
margin: 4px;
}
.gui-settings-checkbox
{
width: 28px;
margin-right: 24px;
height: 12px;
background: #8884;
border-radius: 16px;
position: relative;
}
.gui-settings-checkbox::after
{
content: "";
width: 20px;
height: 20px;
background: #c6c6c6;
position: absolute;
border-radius: 50%;
top: -4px;
left: -4px;
box-shadow: 0px 2px 8px 1px #0003;
transition: all .2s ease-out;
}
.gui-settings-checkbox-container input:checked ~ .gui-settings-checkbox
{
background: $customStyleColor80;
}
.gui-settings-checkbox-container input:checked ~ .gui-settings-checkbox::after
{
background: $customStyleColor !important;
box-shadow: 0px 2px 8px 1px $customStyleColor70;
left: calc(100% - 16px);
}
.gui-settings-checkbox-container input:disabled ~ .gui-settings-checkbox
{
opacity: 0.5;
}
.gui-settings-header>i
{
margin-right: 8px;
}