UNPKG

meri-design-dev

Version:

基于vue框架的ui库

1,218 lines (989 loc) 24.2 kB
/*! * @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-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-textarea.p-textarea-max .p-textarea-max-error-info position: absolute left: 12px bottom: -20px color: $red-500 font-size: 14px line-height: 18px height: 18px .p-textarea.p-textarea-max .p-word-num color: #f54e45 .p-textarea.p-textarea-max .p-textarea-box border: 1px solid $red-500 .p-textarea.p-textarea-max .p-textarea-box:hover border: 1px solid $red-500 .p-textarea background-color: $theme display: inline-flex position: relative .p-textarea + .p-textarea margin-left: 28px .p-textarea .p-word-num height: 20px font-size: 12px color: #8d9399 line-height: 20px position: absolute right: 8px bottom: 2px .p-textarea .p-textarea-placeholder position: absolute left: 8px top: 8px color: $grey-400 z-index: 1 font-size: 14px pointer-events: none .p-textarea .p-textarea-box transition: all .3s padding: 8px border: 1px solid $grey-400 border-radius: 4px width: 600px max-width: 600px margin: 0 outline: none caret-color: $blue-500 color: $grey-900 background: none overflow-y: auto .p-textarea .p-textarea-box.p-textarea-resize resize: none .p-textarea .p-textarea-box:hover border-color: $blue-500 .p-textarea .p-textarea-box:active border-color: $blue-600 .p-textarea.p-input-focus box-shadow: none !important .p-textarea.p-input-focus .p-textarea-box border-color: $blue-500 .p-input display: inline-flex align-items: center padding-left: 8px padding-right: 8px border: 1px solid $grey-400 border-radius: 4px width: 240px max-width: 600px height: 32px font-size: 0 transition: border .3s,box-shadow .3s .p-input + .p-input margin-left: 28px .p-input .left-button margin-left: -8px margin-right: 8px border-top-left-radius: 4px border-bottom-left-radius: 4px border-right: 1px solid $grey-400 .p-input .right-button margin-left: 8px margin-right: -8px border-top-right-radius: 4px border-bottom-right-radius: 4px border-left: 1px solid $grey-400 .p-input .left-button, .p-input .right-button width: 76px height: 30px line-height: 30px cursor: pointer .p-input .left-button .left-button-text, .p-input .right-button .left-button-text, .p-input .left-button .right-button-text, .p-input .right-button .right-button-text color: $grey-900 font-size: 14px text-align: center overflow: hidden text-overflow: ellipsis white-space: nowrap .p-input:hover border-color: $blue-500 .p-input:active border-color: $blue-600 .p-input:after content: ' ' color: transparent .p-input:before content: ' ' color: transparent .p-input .p-input-box flex: 1 font-size: 14px position: relative height: 30px .p-input .p-input-box input, .p-input .p-input-box .p-placeholder height: 30px line-height: 30px .p-input .p-input-box input margin: 0 padding: 0 outline: none background: none border: 0 color: $grey-900 width: 100% position: relative z-index: 2 caret-color: $blue-500 .p-input .p-input-box .p-placeholder position: absolute left: 0 top: 0 color: $grey-400 z-index: 1 width: 100% overflow: hidden .p-input .p-input-icon-clear padding-left: 8px cursor: pointer height: 30px line-height: 30px .p-input .p-input-icon-clear svg width: 14px height: 14px transition: all .3s vertical-align: middle .p-input .p-input-icon-clear svg path transition: all .3s .p-input .p-input-icon-clear:hover path fill: $blue-500 .p-input .p-input-icon-clear:active path fill: $blue-600 .p-input .p-input-icon-search padding-right: 8px text-align: center .p-input .p-input-icon-search .p-icon width: 16px height: 30px line-height: 30px .p-input .p-input-icon-search .p-icon svg vertical-align: middle .p-input-focus border-color: $blue-500 .p-input.p-input-disabled, .p-textarea.p-input-disabled background-color: $grey-200 border-color: $grey-400 cursor: not-allowed .p-input.p-input-disabled textarea.p-textarea-box, .p-textarea.p-input-disabled textarea.p-textarea-box color: $grey-400 cursor: not-allowed .p-input.p-input-disabled textarea.p-textarea-box:hover, .p-textarea.p-input-disabled textarea.p-textarea-box:hover border-color: $grey-400 .p-input.p-input-disabled:hover, .p-textarea.p-input-disabled:hover border-color: $grey-400 .p-input.p-input-error, .p-textarea.p-input-error position: relative border-color: $red-500 .p-input.p-input-error .p-input-box input, .p-textarea.p-input-error .p-input-box input caret-color: $red-500 .p-input.p-input-error textarea.p-textarea-box, .p-textarea.p-input-error textarea.p-textarea-box caret-color: $red-500 border-color: $red-400 .p-input.p-input-error textarea.p-textarea-box:hover, .p-textarea.p-input-error textarea.p-textarea-box:hover border-color: $red-400 .p-input.p-input-error .p-input-error-info, .p-textarea.p-input-error .p-input-error-info position: absolute left: 0 bottom: -20px color: $red-500 font-size: 14px line-height: 18px height: 18px .p-input.p-input-error:hover, .p-textarea.p-input-error:hover border-color: $red-500 .p-input-finish input, .p-input-finish textarea cursor: pointer .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-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 display: inline-block width: 600px font-size: 0 .p-transfer .p-transfer-left-content height: calc(100% - 44px) .p-transfer .p-transfer-selected height: calc(100% - 144px) .p-transfer-search-highlight color: $blue-500 font-size: 14px .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) .transfer-select-modal display: inline font-size: 0 .transfer-select-modal .transfer-select-modal-shade position: fixed left: 0 top: 0 background-color: $theme-transparency width: 100% height: 100% z-index: 5000 .transfer-select-modal .transfer-select-modal-content position: fixed left: 50% top: 50% margin-left: -300px margin-top: -240px z-index: 6000