communications app, popup lib

This commit is contained in:
2023-04-08 11:46:20 +08:00
parent 449196b491
commit f85d4c9903
25 changed files with 746 additions and 279 deletions

View File

@ -13,14 +13,14 @@ $searchInputHeight: 26px;
$searchIconSize: 13px;
$listMaxHeight: 210px;
.dropdown-wrapper {
.drop-wrapper {
display: inline-block;
border: none;
border-radius: unset;
user-select: none;
position: relative;
>.dropdown-header {
>.drop-header {
border: 1px solid $borderColor;
border-radius: $borderRadius;
background-color: $bgColor;
@ -39,7 +39,7 @@ $listMaxHeight: 210px;
outline: none;
}
/*>.dropdown-select-container {
/*>.drop-select-container {
flex: 1 1 auto;
overflow-x: auto;
white-space: nowrap;
@ -104,7 +104,7 @@ $listMaxHeight: 210px;
}
}*/
>.dropdown-text {
>.drop-text {
flex: 1 1 auto;
cursor: pointer;
font-size: $mediumSize;
@ -117,7 +117,7 @@ $listMaxHeight: 210px;
white-space: nowrap;
}
>input.dropdown-text {
>input.drop-text {
cursor: initial;
&::placeholder {
@ -126,7 +126,7 @@ $listMaxHeight: 210px;
}
}
>.dropdown-caret {
>.drop-caret {
flex: 0 0 auto;
width: $caretWidth;
display: flex;
@ -154,14 +154,14 @@ $listMaxHeight: 210px;
// box-shadow: none;
}
>.dropdown-text,
>.dropdown-caret {
>.drop-text,
>.drop-caret {
cursor: default;
}
}
}
>.dropdown-box {
>.drop-box {
position: absolute;
visibility: hidden;
opacity: 0;
@ -192,7 +192,7 @@ $listMaxHeight: 210px;
transform: scaleY(1);
}
>.dropdown-search {
>.drop-search {
box-sizing: border-box;
height: $searchBarHeight;
line-height: $searchBarHeight;
@ -235,7 +235,7 @@ $listMaxHeight: 210px;
}
}
>.dropdown-list {
>.drop-list {
margin: 0;
padding: 0;
list-style: none;

View File

@ -59,23 +59,4 @@ $boxDisabledColor: #d9d9d9;
}
}
}
/*
&.disabled {
.check-box-inner {
border-color: $boxDisabledColor;
cursor: default;
}
>input:checked+.check-box-inner {
border-color: $boxDisabledColor;
background-color: $boxDisabledColor;
}
>span {
color: $boxDisabledColor;
cursor: default;
}
}
*/
}

View File

@ -63,8 +63,8 @@
&,
input[type="text"],
.dropdown-wrapper>.dropdown-header>.dropdown-text,
.dropdown-wrapper>.dropdown-box>.dropdown-list {
.drop-wrapper>.drop-header>.drop-text,
.drop-wrapper>.drop-box>.drop-list {
font-size: var(--font-size);
}
@ -268,22 +268,22 @@
}
}
.dropdown-wrapper {
.drop-wrapper {
height: calc(var(--line-height) + 2px);
width: 100%;
display: flex;
flex-direction: column;
>.dropdown-header {
>.drop-header {
border: none;
height: 100%;
>.dropdown-text {
>.drop-text {
padding: var(--spacing-cell);
}
}
>.dropdown-box {
>.drop-box {
top: calc(var(--line-height) + 2px);
&.slide-up {

94
css/popup.scss Normal file
View File

@ -0,0 +1,94 @@
@import './functions/func.scss';
@import './variables/definition.scss';
$headerLineHeight: 24px;
$buttonHeight: 36px;
.popup-mask {
position: fixed;
@include inset(0, 0, 0, 0);
background-color: rgba(0 0 0 /20%);
display: flex;
justify-content: center;
align-items: center;
opacity: 0;
z-index: 200;
transition: opacity .12s ease;
&.active .popup-container {
transform: scale(1.1);
}
.popup-container {
min-width: 400px;
max-width: 800px;
background-color: $bgColor;
border-radius: 2px;
box-shadow: 0 2px 8px rgba(0 0 0 /11%);
transition: all .12s ease;
position: absolute;
display: flex;
flex-direction: column;
.popup-header {
flex: 0 0 auto;
padding: 10px 12px 6px;
line-height: $headerLineHeight;
user-select: none;
background-color: var(--title-bg-color);
color: var(--title-color);
display: flex;
>div {
flex: 1 1 auto;
font-size: 1rem;
}
>svg {
flex: 0 0 auto;
width: $headerLineHeight;
height: $headerLineHeight;
padding: 4px;
cursor: pointer;
box-sizing: border-box;
&:hover {
opacity: .8;
}
}
}
.popup-body {
margin: 6px 10px;
flex: 1 1 auto;
line-height: $headerLineHeight;
}
.popup-footer {
flex: 0 0 auto;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 4px 10px 16px 2px;
.popup-button {
margin-left: 8px;
border: none;
height: $buttonHeight;
padding: 0 8px;
min-width: 60px;
cursor: pointer;
background-color: var(--title-bg-color);
&:hover {
opacity: .8;
}
&:focus,
&:focus-visible {
outline: none;
}
}
}
}
}