meri-design-dev
Version:
基于vue框架的ui库
824 lines (652 loc) • 16.7 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-select-option
border-radius: 4px
width: 100%
.p-select-option .p-select-option-item
padding-left: 12px
width: 100%
height: 38px
line-height: 38px
color: $grey-900
text-align: left
font-size: 14px
cursor: pointer
overflow: hidden
text-overflow: ellipsis
white-space: nowrap
.p-select-option .p-select-option-item:hover
background-color: $hover-color-grey
.p-select-option .p-select-option-item
position: relative
.p-select-option .p-select-option-item::after
position: absolute
top: 16px
right: 16px
display: block
border-left: 2px solid $blue-500
border-bottom: 2px solid $blue-500
width: 10px
height: 5px
content: ''
transition: transform .3s
transform: rotate(0) scale(0)
.p-select-option .p-select-option-item.p-select-option-item-selected-multiple::after
transform: rotate(-45deg) scale(1)
.p-select-option .p-select-option-item-disabled
color: $grey-400 !important
.p-select-option .p-select-option-item-disabled:hover
cursor: not-allowed
.p-select-option .p-select-option-clear
width: 38px
height: 38px
.p-select-option .p-select-option-clear svg
width: 16px
height: 16px
.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
.p-tree
width: 100%
overflow-x: hidden
font-size: 0
.p-tree-node
width: 100%
.p-tree-node-content
position: relative
padding-left: 12px
width: 100%
cursor: pointer
transition: background-color .3s
overflow: hidden
.p-tree-node-content:hover
background-color: $hover-color-grey
.p-tree-node-content-checked
background-color: $blue-100
.p-tree-node-content-checked .p-tree-node-name
color: $blue-500
.p-tree-svg
display: inline-block
vertical-align: middle
width: 24px
height: 16px
line-height: 24px
.p-tree-svg .p-tree-icon-svg
width: 16px
height: 16px
vertical-align: text-bottom
transform: rotate(90deg)
transition: transform .3s
.p-tree-svg .p-tree-icon-rotate
transform: rotate(180deg)
.p-tree-node-check
display: inline-block
vertical-align: middle
width: calc(100% - 24px)
.p-tree-node-check .p-tree-node-checkbox
display: inline-block
vertical-align: middle
width: 20px
.p-tree-node-title
position: relative
display: inline-block
vertical-align: middle
user-select: none
.p-tree-node-title .p-tree-node-name
width: 100%
height: 38px
line-height: 38px
font-size: 14px
color: $grey-900
white-space: nowrap
text-overflow: ellipsis
overflow: hidden
.p-tree-node-title-single
width: 100%
.p-tree-node-title-multiple
width: calc(100% - 20px)
.p-tree-node-content-disabled .p-tree-node-name
color: $grey-400
cursor: not-allowed
.p-tree-node-content-0 .p-tree-node-name
color: $grey-900
.p-tree-child
width: 100%
.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
.p-transfer-main
display: inline-flex
background-color: $theme
border-radius: 4px
box-shadow: $modal-shadow-bottom
width: 100%
height: 480px
.p-transfer-main .p-transfer-main-child
width: 50%
height: 100%
.p-transfer-main .p-transfer-left
padding-top: 20px
border-right: 1px solid $grey-200
.p-transfer-main .p-transfer-left .p-transfer-left-input
width: 100%
padding-bottom: 11px
padding-left: 28px
padding-right: 28px
border-bottom: 1px solid $grey-200
.p-transfer-main .p-transfer-left .p-transfer-left-content
width: 100%
overflow-y: auto
padding-top: 8px
padding-bottom: 8px
.p-transfer-main .p-transfer-left .p-transfer-left-content .p-select-option .p-select-option-item
padding-left: 28px
padding-right: 28px
.p-transfer-main .p-transfer-left .p-transfer-left-content .p-transfer-left-content-none
width: 100%
padding-left: 28px
line-height: 38px
color: $grey-400
font-size: 14px
user-select: none
.p-transfer-main .p-transfer-right .p-transfer-right-title
display: flex
justify-content: space-between
align-items: center
padding-left: 16px
padding-right: 28px
border-bottom: 1px solid $grey-200
height: 64px
line-height: 22px
.p-transfer-main .p-transfer-right .p-transfer-right-title.p-transfer-right-title-border
border-bottom-color: $grey-100
.p-transfer-main .p-transfer-right .p-transfer-right-title > article
font-size: 14px
.p-transfer-main .p-transfer-right .p-transfer-right-title .p-transfer-right-title-text
color: $grey-500
.p-transfer-main .p-transfer-right .p-transfer-right-title .p-transfer-right-title-text-num
margin-left: 4px
color: $grey-900
font-weight: 600
.p-transfer-main .p-transfer-right .p-transfer-right-title .p-transfer-right-clear
color: $grey-400
transition: color .3s
cursor: not-allowed
.p-transfer-main .p-transfer-right .p-transfer-right-title .p-transfer-right-clear-active
color: $blue-500
cursor: pointer
.p-transfer-main .p-transfer-right .p-transfer-right-title .p-transfer-right-clear-active:active
color: $blue-600
.p-transfer-main .p-transfer-right .p-transfer-selected
width: 100%
margin-top: 8px
overflow-y: auto
color: $grey-500
font-size: 14px
.p-transfer-main .p-transfer-right .p-transfer-selected .p-transfer-selected-item
display: inline-flex
justify-content: space-between
align-items: center
padding-left: 16px
padding-right: 12px
width: 100%
height: 38px
transition: background-color .3s
.p-transfer-main .p-transfer-right .p-transfer-selected .p-transfer-selected-item:hover
background-color: $hover-color-grey
.p-transfer-main .p-transfer-right .p-transfer-selected .p-transfer-selected-item > span
display: inline-block
width: calc(100% - 16px)
color: $grey-900
line-height: 22px
white-space: nowrap
overflow: hidden
text-overflow: ellipsis
.p-transfer-main .p-transfer-right .p-transfer-selected .p-transfer-selected-item > svg
width: 14px
cursor: pointer
.p-transfer-main .p-transfer-right .p-transfer-selected .p-transfer-selected-item > svg path
transition: fill .3s
.p-transfer-main .p-transfer-right .p-transfer-selected .p-transfer-selected-item > svg:hover path
fill: $blue-500
.p-transfer-main .p-transfer-right .p-transfer-btn
position: relative
padding-top: 20px
padding-bottom: 20px
padding-right: 28px
width: 100%
height: 72px
text-align: right
.p-transfer-main .p-transfer-right .p-transfer-btn.p-transfer-btn-shadow
box-shadow: $box-shadow-top
.p-transfer-mini
display: inline-block
width: 480px
.p-transfer-mini-highlight
font-size: 14px
color: $blue-500