meri-design-dev
Version:
基于vue框架的ui库
576 lines (493 loc) • 11.8 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-checkbox
display: inline-flex
align-items: center
min-width: 16px
min-height: 16px
vertical-align: middle
cursor: pointer
z-index: 1
.p-checkbox + .p-checkbox
margin-left: 8px
.p-checkbox .p-checkbox-box
position: relative
vertical-align: middle
border-width: 1px
border-style: solid
border-color: transparent
border-radius: 2px
width: 16px
height: 16px
transition: all .3s
.p-checkbox .p-checkbox-box:hover
box-shadow: 0 0 4px 0 rgba(78,131,253,0.4)
.p-checkbox .p-checkbox-box::after
position: absolute
background: none
transition: transform .2s ease-in-out
transform: rotate(0) scale(0)
z-index: 1
content: ''
pointer-events: none
.p-checkbox .p-checkbox-uncheck
background-color: $theme
border-color: $grey-400
.p-checkbox .p-checkbox-uncheck:hover
border-color: $blue-500
.p-checkbox .p-checkbox-checked
background-color: $blue-500
border-color: $blue-500
.p-checkbox .p-checkbox-checked::after
top: 2px
left: 5px
border-right: 2px solid $white
border-bottom: 2px solid $white
width: 4px
height: 8px
transform: rotate(45deg) scale(1)
.p-checkbox .p-checkbox-notNull
background-color: $blue-500
border-color: $blue-500
.p-checkbox .p-checkbox-notNull::after
top: 6px
left: 3px
background-color: $white
width: 8px
height: 2px
transform: scale(1)
.p-checkbox .p-checkbox-text
padding-left: 8px
width: calc(100% - 16px)
color: $grey-900
font-size: 14px
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
user-select: none
.p-checkbox-disabled
cursor: not-allowed
.p-checkbox-disabled > i
pointer-events: none
.p-checkbox-disabled .p-checkbox-uncheck
background-color: $grey-300
.p-checkbox-disabled .p-checkbox-checked
background-color: $grey-400
border-color: $grey-400
.p-checkbox-disabled .p-checkbox-notNull
background-color: $grey-400
border-color: $grey-400
.selectDownUpExtend-enter-active
animation: selectDownUpExtend .3s
.selectDownUpExtend-leave-active
animation: selectDownUpExtend .3s reverse
.selectDownUpExtendTop-enter-active
animation: selectDownUpExtendTop .3s
.selectDownUpExtendTop-leave-active
animation: selectDownUpExtendTop .3s reverse
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
.p-drop-box
position: absolute
outline: none
padding-top: 8px
padding-bottom: 8px
background-color: $theme
border: 1px solid $grey-300
border-radius: 4px
box-shadow: $box-shadow-bottom
min-width: 120px
max-width: 240px
z-index: 7000
font-size: 0
overflow: hidden
.p-drop-box-multiple
max-height: 250px
.p-drop-box-multiple-search
height: 250px
.p-drop-box-single
max-height: 208px
.p-drop-box-single-search
height: 208px
.p-drop-box-search
position: relative
margin: 4px 12px
width: calc(100% - 24px)
.p-drop-box-input
outline: none
padding-left: 8px
padding-right: 30px
border: 1px solid $grey-400
border-radius: 4px
width: 100%
height: 32px
font-size: 14px
color: $grey-900
transition: border-color .3s
.p-drop-box-input:active,
.p-drop-box-input:focus,
.p-drop-box-input:hover
border-color: $blue-500
.p-drop-box-input-clear
position: absolute
right: 1px
top: 1px
padding-top: 7px
display: inline-block
width: 30px
height: 30px
text-align: center
cursor: pointer
.p-drop-box-input-clear svg
width: 16px
height: 16px
.p-drop-box-input-clear svg path
transition: fill .3s
.p-drop-box-input-clear:hover svg path
fill: $blue-500
.p-drop-box-list
width: 100%
max-height: 190px
overflow-x: hidden
overflow-y: auto
.p-drop-box-item
display: flex
align-items: center
padding-left: 12px
padding-right: 12px
width: 100%
height: 38px
line-height: 38px
color: $grey-900
cursor: pointer
white-space: nowrap
text-overflow: ellipsis
overflow: hidden
transition: background-color .3s
.p-drop-box-item:hover
background-color: $grey-200
.p-drop-box-item.p-drop-item-selected
color: $blue-500
background-color: $blue-100
.p-drop-box-item .p-drop-box-text
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
width: 100%
font-size: 14px
.p-drop-box-item-checkbox .p-drop-box-text
width: calc(100% - 20px)
.p-drop-box-item-selected
background-color: $blue-100
.p-drop-box-item-selected .p-drop-box-text
color: $blue-500
.p-drop-box-handle
position: absolute
left: 0
bottom: 0
z-index: 10
display: flex
justify-content: flex-end
padding-left: 12px
padding-right: 12px
background-color: $theme
width: 100%
height: 42px
line-height: 42px
.p-drop-box-handle .p-drop-box-btn
font-size: 14px
cursor: pointer
transition: color .3s
.p-drop-box-handle .p-drop-box-cancel
margin-right: 16px
color: $grey-900
.p-drop-box-handle .p-drop-box-cancel:hover
color: $blue-500
.p-drop-box-handle .p-drop-box-confirm
color: $blue-500
.p-drop-box-handle .p-drop-box-confirm:active
color: $blue-600
.p-drop-box-handle .p-drop-box-disabled
color: $grey-400
cursor: not-allowed
.p-drop-box-handle-shadow
box-shadow: $box-shadow-top
.selectDownUpExtend-enter-active
animation: selectDownUpExtend .3s
.selectDownUpExtend-leave-active
animation: selectDownUpExtend .3s reverse
.selectDownUpExtendTop-enter-active
animation: selectDownUpExtendTop .3s
.selectDownUpExtendTop-leave-active
animation: selectDownUpExtendTop .3s reverse
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtend
from
transform: translate3d(0,-8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
@keyframes selectDownUpExtendTop
from
transform: translate3d(0,8px,0)
opacity: 0
pointer-events: none
to
transform: translate3d(0,0,0)
opacity: 1
pointer-events: auto
.p-popover-tip
position: absolute
display: inline-block
padding-top: 8px
border-radius: 4px
max-width: 480px
z-index: 7000
font-size: 0
.p-popover-tip .p-popover-tip-triangle
position: absolute
left: 50%
border-style: solid
width: 0
height: 0
.p-popover-tip-split
background-color: $theme
.p-popover-tip-split.p-popover-tip-top .p-popover-tip-triangle
border-color: $theme transparent transparent transparent
.p-popover-tip-split.p-popover-tip-bottom .p-popover-tip-triangle
border-color: transparent transparent $theme transparent
.p-popover-tip-words
background-color: $popover-tip-bg
.p-popover-tip-words.p-popover-tip-top .p-popover-tip-triangle
border-color: $popover-tip-bg transparent transparent transparent
.p-popover-tip-words.p-popover-tip-bottom .p-popover-tip-triangle
border-color: transparent transparent $popover-tip-bg transparent
.p-popover-tip-top
filter: drop-shadow($box-shadow-triangle-bottom)
.p-popover-tip-top .p-popover-tip-triangle
bottom: -6px
border-width: 6px 6px 0 6px
.p-popover-tip-bottom
filter: drop-shadow($box-shadow-triangle-top)
.p-popover-tip-bottom .p-popover-tip-triangle
top: -6px
border-width: 0 6px 6px 6px
.p-popover-tip-content
display: flex
flex-wrap: wrap
padding-left: 4px
padding-right: 8px
max-width: 480px
max-height: 184px
overflow-x: hidden
overflow-y: auto
.p-popover-tip-content .p-popover-tip-content-item
margin-left: 4px
margin-bottom: 8px
padding-left: 4px
padding-right: 4px
background-color: $grey-100
border-radius: 2px
max-width: 100%
overflow: hidden
white-space: nowrap
.p-popover-tip-content .p-popover-tip-content-item .p-popover-tip-item-text
display: inline-block
width: 100%
line-height: 24px
color: $grey-900
font-size: 14px
.p-popover-tip-content .p-popover-tip-content-item-before
position: relative
.p-popover-tip-content .p-popover-tip-content-item-before::before
position: absolute
top: 0
left: 0
display: inline-block
background-color: $grey-100
border-radius: 2px
width: 20px
height: 24px
content: '...'
color: $grey-900
font-size: 14px
text-align: center
z-index: 1
.p-popover-tip-content-words
display: inline-block
padding-left: 4px
padding-bottom: 8px
width: 100%
line-height: 24px
color: $theme
font-size: 14px
.p-select-screen
position: relative
display: inline-flex
align-items: center
height: 20px
line-height: 20px
font-size: 0
cursor: pointer
.p-select-screen-none
pointer-events: none
.p-select-screen-title
font-size: 12px
color: $grey-900
.p-select-screen-num
padding-left: 4px
padding-right: 4px
color: $blue-500
.p-select-screen-svg
margin-left: 8px
height: 20px
.p-select-screen-svg svg
vertical-align: middle
width: 16px
height: 16px
transition: transform .3s
.p-select-screen-svg svg path
transition: fill .3s
.p-select-screen-svg:hover svg path
fill: $blue-500
.p-select-triangle-open svg
transform: rotate(180deg)
.p-select-screen-svg-active svg path
fill: $blue-500
.p-select-screen-shade
position: absolute
width: 100%
height: 100%
pointer-events: auto
opacity: 0
cursor: pointer