zmp-ui
Version:
Zalo Mini App framework
220 lines (194 loc) • 3.97 kB
text/less
@import './variables.less';
@import './mixins.less';
.@{snackbar-prefix-cls}{
box-sizing: border-box;
display: flex;
align-items: center;
position: fixed;
z-index: 1001;
transition: opacity 150ms, transform 150ms;
width: @snackbar-width;
background-color: @light-snackbar-background;
color: @light-snackbar-text-color;
padding: @snackbar-text-only-padding;
border-radius: @snackbar-border-radius;
flex-direction: row;
justify-content: space-between;
font-size: @snackbar-font-size;
line-height: @snackbar-line-height;
font-weight: @snackbar-font-weight;
>* {
&:not(:last-child){
margin-right: @snackbar-space;
}
}
&-desc-wrapper{
display: flex;
flex-direction: row;
align-items: center;
>* {
&:not(:last-child){
margin-right: @snackbar-space;
}
}
}
&-prefix-icon{
width: @snackbar-icon-size;
height: @snackbar-icon-size;
}
&-content{
flex: 1;
>*{
&:not(:last-child){
margin-bottom: @snackbar-space;
}
}
}
&-text-only{
width: max-content;
max-width: @snackbar-width;
.@{snackbar-prefix-cls}-desc{
text-align: center;
}
}
&-vertical-action{
display: flex;
flex-direction: column;
align-items: flex-end;
>*{
margin-right: 0;
&:not(:last-child){
margin-right: 0;
margin-bottom: @snackbar-space;
}
}
.@{snackbar-prefix-cls}-content{
width: 100%;
}
}
&-success{
color: @light-snackbar-success-color;
}
&-error{
color: @light-snackbar-error-color;
}
&-warning{
color: @light-snackbar-warning-color;
}
&-info{
color: @light-snackbar-info-color;
}
&-action{
height: @snackbar-action-height;
font-weight: @snackbar-action-font-weight;
color: @light-snackbar-action-color;
padding: 10px 8px;
}
&-loading{
animation: loadingCircle 1s infinite linear;
}
&-progress{
.@{progress-prefix-cls}-completed{
background-color: @light-snackbar-progress-color;
}
}
&-wifi-connected{
color: @light-snackbar-connect-color;
}
&-wifi-disconnected{
color: @light-snackbar-disconnect-color;
}
&-top{
left: 50%;
transform: translateX(-50%) translateY(-12px);
top: 12px;
&-visible{
transform: translateX(-50%) translateY(0);
}
}
&-bottom{
left: 50%;
transform: translateX(-50%) translateY(12px);
bottom: 12px;
&-visible{
transform: translateX(-50%) translateY(0);
}
}
&-appear,&-exit-active{
opacity: 0;
}
&-enter{
opacity: 1;
}
&-enter-top, &-exit-active-top{
transform: translate(-50%,-12px);
}
&-enter-bottom, &-exit-active-bottom{
transform: translate(-50%,12px);
}
&-enter-active-top, &-enter-active-bottom{
transform: translate(-50%,0px);
}
}
.@{countdown-prefix-cls}{
&-background,&-progress{
fill: none;
}
&-background{
stroke: @light-countdown-bg-color;
}
&-progress{
transition: stroke-dashoffset .5s ease-in-out;
stroke: @light-countdown-progress-color;
stroke-linecap: round;
transform-origin: center;
}
&-counter {
font-size: @snackbar-countdown-font-size;
fill: @light-countdown-counter-color;
transform: translate(0 50%);
}
}
.if-dark-theme({
.@{snackbar-prefix-cls}{
background-color: @dark-snackbar-background;
color: @dark-snackbar-text-color;
&-success{
color: @dark-snackbar-success-color;
}
&-error{
color: @dark-snackbar-error-color;
}
&-warning{
color: @dark-snackbar-warning-color;
}
&-info{
color: @dark-snackbar-info-color;
}
&-action{
color: @dark-snackbar-action-color;
}
&-progress{
.@{progress-prefix-cls}-completed{
background-color: @dark-snackbar-progress-color;
}
}
&-wifi-connected{
color: @dark-snackbar-connect-color;
}
&-wifi-disconnected{
color: @dark-snackbar-disconnect-color;
}
}
.@{countdown-prefix-cls}{
&-background{
stroke: @dark-countdown-bg-color;
}
&-progress{
stroke: @dark-countdown-progress-color;
}
&-counter {
fill: @dark-countdown-counter-color;
}
}
});