meri-design-dev
Version:
基于vue框架的ui库
794 lines (650 loc) • 14.3 kB
text/stylus
/*!
* @meri-design-dev v0.0.13
* (c) 2019-2020 wangyongcun
* Released under the MIT License.
* 2024-04-29 11:26:20
*/
.p-modal-main-not-full
border-radius: 4px
.p-modal-main-default
width: 600px
min-height: 288px
.p-modal-main-small
width: 420px
.p-modal-main-middle
width: 840px
.p-modal-main-large
width: 1260px
.p-modal-main-full
width: 100%
.p-modal-main-full .p-title-full-text
width: 50%
.p-modal-main-full .p-left-handle
display: flex
align-items: center
justify-content: flex-end
padding-right: 16px
width: 50%
text-align: right
vertical-align: middle
.p-modal-main-tip
top: 120px
left: 50%
margin-left: -210px
border-radius: 4px
width: 420px
.p-modal-main-tip .p-modal-info-svg
width: 24px
height: 24px
.p-modal-main-tip .p-modal-info-svg svg
width: 24px
height: 24px
.p-modal-main-tip .p-modal-title
border: 0
.p-modal-main-tip .p-modal-content
width: calc(100% - 32px)
min-height: auto
.p-modal-main-tip .p-modal-content .p-modal-content-main-text
margin-top: 24px
font-size: 14px
color: $grey-900
line-height: 22px
.p-modal-main-tip .p-modal-content .p-modal-content-main-text-has-title
margin-top: 8px
color: $grey-600
.p-modal-main-tip .p-modal-content .p-modal-content-main-text-no-title
font-size: 16px
.p-modal-main-tip-svg
position: relative
.p-modal-main-tip-svg .p-modal-info-svg
position: absolute
top: 24px
left: 32px
.p-modal-main-tip-svg .p-modal-title
padding-top: 8px
padding-left: 72px
.p-modal-main-tip-svg .p-modal-content
padding-left: 72px
.p-loading16px
display: inline-block
width: 100%
height: 100%
line-height: 100%
text-align: center
.p-loading16px .p-loading16px-line
width: 100%
height: 100%
min-width: 12px
min-height: 12px
animation: loading16px .5s linear infinite
@keyframes loading16px
0%
transform: rotate(0)
100%
transform: rotate(360deg)
@keyframes loading16px
0%
transform: rotate(0)
100%
transform: rotate(360deg)
@keyframes loading16px
0%
transform: rotate(0)
100%
transform: rotate(360deg)
@keyframes loading16px
0%
transform: rotate(0)
100%
transform: rotate(360deg)
.p-icon
text-align: center
cursor: pointer
font-size: 0
.p-icon + .p-icon
margin-left: 8px
.p-icon svg
vertical-align: middle
.p-icon svg path
transition: fill .3s
.p-button
position: relative
display: inline-flex
align-items: center
justify-content: center
padding-left: 8px
padding-right: 8px
background-color: $theme
border-width: 1px
border-style: solid
border-radius: 4px
transition: all .36s
font-size: 0
text-align: center
.p-button:after
content: ''
color: transparent
.p-button:before
content: ''
color: transparent
.p-button+.p-button
margin-left: 12px
.p-button .p-btn-text
overflow: hidden
white-space: nowrap
text-overflow: ellipsis
position: relative
z-index: 1
user-select: none
.p-button .p-button-loading
display: inline-block
margin-left: 4px
vertical-align: middle
.p-button-large
max-width: 128px
min-width: 80px
height: 40px
line-height: 38px
.p-button-large .p-btn-text
font-size: 16px
.p-button-large .p-button-loading
width: 20px
height: 20px
.p-button-medium
max-width: 116px
min-width: 80px
height: 32px
line-height: 30px
.p-button-medium .p-btn-text
font-size: 14px
.p-button-medium .p-button-loading
width: 16px
height: 16px
.p-button-small
max-width: 108px
min-width: 60px
height: 28px
line-height: 26px
.p-button-small .p-btn-text
font-size: 14px
.p-button-small .p-button-loading
width: 12px
height: 12px
.p-button-default,
.p-button-icon-text
background-color: $theme
border-color: $grey-400
color: $grey-900
cursor: pointer
.p-button-default .p-button-loading path,
.p-button-icon-text .p-button-loading path
fill: $grey-900
.p-button-default:hover,
.p-button-icon-text:hover
border-color: $blue-500
color: $blue-500
.p-button-default:active,
.p-button-icon-text:active
border-color: $blue-600
color: $blue-600
.p-button-default::after,
.p-button-icon-text::after
background: radial-gradient(circle,$grey-200 10%,transparent 10%)
.p-button-default .loading path,
.p-button-icon-text .loading path
stroke: $grey-400
.p-button-primary
background-color: $blue-500
border-color: $blue-500
color: $white
cursor: pointer
.p-button-primary:hover
background-color: $blue-400
border-color: $blue-400
.p-button-primary:active
background-color: $blue-600
border-color: $blue-600
.p-button-primary::after
background: radial-gradient(circle,$blue-300 10%,transparent 10%)
.p-button-error
background-color: $red-500
border-color: $red-500
color: $white
cursor: pointer
.p-button-error:hover
background-color: $red-400
border-color: $red-400
.p-button-error:active
background-color: $red-600
border-color: $red-600
.p-button-error::after
background: radial-gradient(circle,$red-300 10%,transparent 10%)
.p-button-disabled,
.p-button-default-disabled,
.p-button-primary-disabled,
.p-button-error-disabled
background-color: $grey-200
color: $grey-400
cursor: not-allowed
border-color: $grey-200
.p-button-disabled:hover,
.p-button-default-disabled:hover,
.p-button-primary-disabled:hover,
.p-button-error-disabled:hover
background-color: $grey-200
border-color: $grey-200
color: $grey-400
.p-button-disabled:active,
.p-button-default-disabled:active,
.p-button-primary-disabled:active,
.p-button-error-disabled:active
background-color: $grey-200
border-color: $grey-200
color: $grey-400
.p-button-text-blue
border-style: none
color: $blue-500
cursor: pointer
.p-button-text-blue:hover
color: $blue-500
.p-button-text-blue:active
color: $blue-600
.p-button-text-red
border-style: none
color: $red-500
cursor: pointer
.p-button-text-red:hover
color: $red-400
.p-button-text-red:active
color: $red-600
.min-size
min-width: 0
.p-button-icon,
.p-button-icon-border
border-color: $grey-400
padding: 0
cursor: pointer
.p-button-icon path,
.p-button-icon-border path
fill: $grey-900
transition: all .36s
.p-button-icon .p-icon svg,
.p-button-icon-border .p-icon svg
width: 100% !important
height: 100% !important
.p-button-icon
border-color: transparent
.p-button-icon:hover
color: $blue-500
.p-button-icon:hover path
fill: $blue-500
.p-button-icon:active
color: $blue-600
.p-button-icon:active path
fill: $blue-600
.p-button-icon::after
color: $blue-500
.p-button-icon::after path
fill: $blue-500
.p-button-icon-border:hover
border-color: $blue-500
color: $blue-500
.p-button-icon-border:hover path
fill: $blue-500
.p-button-icon-border:active
border-color: $blue-600
color: $blue-600
.p-button-icon-border:active path
fill: $blue-600
.p-button-icon-border::after
border-color: $blue-500
color: $blue-500
.p-button-icon-border::after path
fill: $blue-500
.p-button-icon.p-button-large,
.p-button-icon-border.p-button-large
width: 40px
min-width: 40px
.p-button-icon.p-button-large .p-icon,
.p-button-icon-border.p-button-large .p-icon
width: 24px
height: 24px
line-height: 24px
.p-button-icon.p-button-medium,
.p-button-icon-border.p-button-medium
width: 32px
min-width: 32px
.p-button-icon.p-button-medium .p-icon,
.p-button-icon-border.p-button-medium .p-icon
width: 16px
height: 16px
line-height: 16px
.p-button-icon.p-button-small,
.p-button-icon-border.p-button-small
width: 28px
min-width: 28px
.p-button-icon.p-button-small .p-icon,
.p-button-icon-border.p-button-small .p-icon
width: 12px
height: 12px
line-height: 12px
.p-button-icon-text
border-color: transparent
.p-button-icon-text:hover
border-color: transparent
.p-button-icon-text path
fill: $grey-900
transition: all .36s
.p-button-icon-text:hover
color: $blue-500
.p-button-icon-text:hover path
fill: $blue-500
.p-button-icon-text:active
color: $blue-600
.p-button-icon-text:active path
fill: $blue-600
.p-button-icon-text::after
color: $blue-500
.p-button-icon-text::after path
fill: $blue-500
.p-button-icon-text .p-icon
margin-right: 4px
.p-button-icon-text .p-icon svg
width: 100% !important
height: 100% !important
.p-button-icon-text.p-button-large .p-icon
width: 20px
height: 20px
line-height: 20px
.p-button-icon-text.p-button-medium .p-icon
width: 16px
height: 16px
line-height: 16px
.p-button-icon-text.p-button-small .p-icon
width: 12px
height: 12px
line-height: 12px
.p-button-icon-border-disabled
background-color: $grey-200
color: $grey-400
cursor: not-allowed
border-color: $grey-200
.p-button-icon-border-disabled svg
cursor: not-allowed
.p-button-icon-border-disabled svg path
fill: $grey-400
.p-button-icon-border-disabled:hover
border-color: $grey-200
.p-button-icon-border-disabled:hover path
fill: $grey-400
.p-button-icon-disabled
color: $grey-400
cursor: not-allowed
.p-button-icon-disabled svg
cursor: not-allowed
.p-button-icon-disabled svg path
fill: $grey-400
.p-button-icon-disabled:hover path
fill: $grey-400
.p-button-icon-text-disabled
color: $grey-400
cursor: not-allowed
.p-button-icon-text-disabled svg
cursor: not-allowed
.p-button-icon-text-disabled svg path
fill: $grey-400
.p-button-icon-text-disabled:hover
color: $grey-400
.p-button-icon-text-disabled:hover path
fill: $grey-400
.p-button-text
border-color: transparent
cursor: pointer
color: $grey-900
.p-button-text:hover
color: $blue-500
border-color: transparent
.p-button-text:active
color: $blue-600
.p-button-text-disabled,
.p-button-text-blue-disabled,
.p-button-text-red-disabled
cursor: not-allowed
color: $grey-400
.p-button-text-disabled:hover,
.p-button-text-blue-disabled:hover,
.p-button-text-red-disabled:hover
color: $grey-400
.opacityInUiOut-enter-active
animation: opacityInUi .3s ease-out
.opacityInUiOut-leave-active
animation: opacityOutUi .3s ease-in
@keyframes opacityInUi
from
opacity: 0
to
opacity: 1
@keyframes opacityInUi
from
opacity: 0
to
opacity: 1
@keyframes opacityInUi
from
opacity: 0
to
opacity: 1
@keyframes opacityInUi
from
opacity: 0
to
opacity: 1
@keyframes opacityOutUi
from
opacity: 1
to
opacity: 0
@keyframes opacityOutUi
from
opacity: 1
to
opacity: 0
@keyframes opacityOutUi
from
opacity: 1
to
opacity: 0
@keyframes opacityOutUi
from
opacity: 1
to
opacity: 0
.bounceInUiOut-enter-active
animation: bounceInUi .3s ease-out
.bounceInUiOut-leave-active
animation: bounceOutUi .3s ease-in
@keyframes bounceInUi
from
opacity: 0
transform: translate3d(0,24px,0)
to
opacity: 1
transform: translate3d(0,0,0)
@keyframes bounceInUi
from
opacity: 0
transform: translate3d(0,24px,0)
to
opacity: 1
transform: translate3d(0,0,0)
@keyframes bounceInUi
from
opacity: 0
transform: translate3d(0,24px,0)
to
opacity: 1
transform: translate3d(0,0,0)
@keyframes bounceInUi
from
opacity: 0
transform: translate3d(0,24px,0)
to
opacity: 1
transform: translate3d(0,0,0)
@keyframes bounceOutUi
from
opacity: 1
transform: translate3d(0,0,0)
to
opacity: 0
transform: translate3d(0,24px,0)
@keyframes bounceOutUi
from
opacity: 1
transform: translate3d(0,0,0)
to
opacity: 0
transform: translate3d(0,24px,0)
@keyframes bounceOutUi
from
opacity: 1
transform: translate3d(0,0,0)
to
opacity: 0
transform: translate3d(0,24px,0)
@keyframes bounceOutUi
from
opacity: 1
transform: translate3d(0,0,0)
to
opacity: 0
transform: translate3d(0,24px,0)
.bounceInUiOutScale-enter-active
animation: bounceInUiScale .3s ease-out
.bounceInUiOutScale-leave-active
animation: bounceOutUiScale .3s ease-in
@keyframes bounceInUiScale
from
opacity: 0
transform: scale(.9)
to
opacity: 1
transform: scale(1)
@keyframes bounceInUiScale
from
opacity: 0
transform: scale(.9)
to
opacity: 1
transform: scale(1)
@keyframes bounceInUiScale
from
opacity: 0
transform: scale(.9)
to
opacity: 1
transform: scale(1)
@keyframes bounceInUiScale
from
opacity: 0
transform: scale(.9)
to
opacity: 1
transform: scale(1)
@keyframes bounceOutUiScale
from
opacity: 1
transform: scale(1)
to
opacity: 0
transform: scale(.9)
@keyframes bounceOutUiScale
from
opacity: 1
transform: scale(1)
to
opacity: 0
transform: scale(.9)
@keyframes bounceOutUiScale
from
opacity: 1
transform: scale(1)
to
opacity: 0
transform: scale(.9)
@keyframes bounceOutUiScale
from
opacity: 1
transform: scale(1)
to
opacity: 0
transform: scale(.9)
.p-modal-bg
position: fixed
left: 0
top: 0
background-color: $theme-transparency
width: 100%
height: 100%
z-index: 5000
.p-modal-main
position: fixed
background-color: $theme
box-shadow: $modal-shadow-bottom
z-index: 5000
.p-modal-main-full
top: 0
left: 0
width: 100%
height: 100%
.p-modal-main-max
top: 60px
.p-modal-title
position: relative
display: flex
justify-content: space-between
padding-left: 32px
padding-right: 28px
border-bottom: 1px solid $grey-300
width: 100%
height: 56px
.p-modal-title .p-title-text
max-width: calc(100% - 80px)
line-height: 55px
color: $grey-900
font-size: 16px
font-weight: 600
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
.p-modal-title .p-modal-title-icon
display: inline-block
width: 16px
height: 55px
line-height: 55px
.p-modal-title .p-modal-title-icon svg
vertical-align: middle
cursor: pointer
.p-modal-title .p-modal-title-icon svg:hover path
fill: $blue-500
transition: fill .36s
.p-modal-content
width: 100%
overflow-y: auto
.p-modal-content-full
max-height: calc(100vh - 56px)
.p-modal-content-max-height
max-height: calc(100vh - 252px)
.p-modal-content-default
min-height: 156px
.p-modal-content-middle
min-height: 360px
.p-modal-content-small
min-height: 77px
.p-modal-handle
padding: 24px 32px 20px
width: 100%
text-align: right
font-size: 0
.p-modal-handle-shadow
box-shadow: $box-shadow-top