UNPKG

kui-vue

Version:

A high quality UI Toolkit built on Vue.js 2.0

337 lines (281 loc) 6.5 kB
@import '../../styles/var.less'; .k-color-picker { // width: 55px; height: 32px; border: 1px solid var(--kui-color-border); border-radius: var(--kui-border-radius); position: relative; display: inline-flex; box-sizing: border-box; align-items: center; padding: 0 3px; &:hover, &:focus { border-color: var(--kui-color-main-hover); } &:active { opacity: .8; } .k-color-picker-selection { line-height: 1.571; display: flex; align-items: center; // padding: 2px; cursor: pointer; } .k-color-picker-color { height: 24px; width: 24px; border-radius: 12%; // margin: 2px; overflow: hidden; background-image: linear-gradient(-45deg, #cdcdcd 25%, transparent 0), linear-gradient(45deg, #cdcdcd 25%, transparent 0), linear-gradient(-45deg, transparent 75%, #cdcdcd 0), linear-gradient(45deg, transparent 75%, #cdcdcd 0); background-size: 11px 11px; background-position: 0 0, 0 -5.5px, -5.5px 5.5px, 5.5px 0; .k-color-picker-color-inner { height: 100%; width: 100%; } } .k-color-picker-arrow { margin: 0 5px; font-size: 16px; color: var(--kui-color-icon); transition: transform .3s cubic-bezier(0.075, 0.82, 0.165, 1); } } .k-color-picker-opened { border: 1px solid var(--kui-color-main); box-shadow: 0 0 0 2px var(--kui-color-main-90); .k-color-picker-arrow { transform: rotate(180deg); } } .k-color-picker-disabled { cursor: not-allowed; background: var(--kui-color-disable-back); border-color: var(--kui-color-disable-border); * { cursor: not-allowed; } .k-color-picker-color { opacity: .5; } &:hover { border-color: var(--kui-color-disable-border); } &:active { opacity: 1; } } .k-color-picker-lg { // width: 70px; height: 40px; padding: 0 4px; .k-color-picker-color { width: 32px; height: 32px; } .k-color-picker-arrow { font-size: 22px; } } .k-color-picker-sm { // width: 45px; height: 22px; .k-color-picker-color { width: 16px; height: 16px; border-radius: 24%; } .k-color-picker-arrow { font-size: 14px; } } .k-color-picker-dropdown { width: 254px; font-size: 0; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); position: absolute; border-radius: var(--kui-border-radius); background: var(--kui-color-back); border: 1px solid var(--kui-color-gray-80); z-index: 1001; padding: 10px; box-sizing: border-box; .k-color-picker-paint-dot { width: 15px; height: 15px; display: block; position: absolute; box-sizing: border-box; // background: var(--kui-color-back); // border: 2px solid #fff; border: 2px solid var(--kui-color-back); box-shadow: 0 0 0 px rgba(0, 0, 0, 0.2); border-radius: 50%; top: 10px; left: 10px; pointer-events: none; } .k-color-picker-paint { width: 234px; height: 136px; border-radius: @radius; } .k-color-picker-bar { padding: 10px 0 0 0; display: flex; } .k-color-picker-avatar { width: 28px; height: 28px; border-radius: 6px; float: left; background-image: linear-gradient(-45deg, #cdcdcd 25%, transparent 0), linear-gradient(45deg, #cdcdcd 25%, transparent 0), linear-gradient(-45deg, transparent 75%, #cdcdcd 0), linear-gradient(45deg, transparent 75%, #cdcdcd 0); background-size: 11px 11px; background-position: 0 0, 0 -5.5px, -5.5px 5.5px, 5.5px 0; .k-color-picker-avatar-inner { border-radius: 6px; width: 100%; height: 100%; border: 1px solid var(--kui-color-border); box-sizing: border-box; } } .k-color-picker-bar-box { margin-left: 14px; flex: 1; position: relative; display: flex; flex-direction: column; justify-content: space-between; canvas { height: 8px; width: 190px; border-radius: 4px; } .k-color-picker-alpha { background-image: linear-gradient(-45deg, #cdcdcd 25%, transparent 0), linear-gradient(45deg, #cdcdcd 25%, transparent 0), linear-gradient(-45deg, transparent 75%, #cdcdcd 0), linear-gradient(45deg, transparent 75%, #cdcdcd 0); background-size: 8px 8px; background-position: 0 0, 0 -4px, -4px 4px, 4px 0; border: 1px solid #a1a1a1; box-sizing: border-box; } span { width: 12px; height: 12px; display: block; position: absolute; border: 2px solid var(--kui-color-back); box-shadow: 0 0 0 1px rgb(0 0 0 / 7%); border-radius: 50%; pointer-events: none; box-sizing: border-box; } .k-color-picker-hue-dot { top: -2px; } .k-color-picker-alpha-dot { top: 18px; } } .k-color-picker-mode { position: relative; margin-top: 16px; display: flex; align-items: center; gap: 4px; .k-btn { &:hover { color: @main; } } .k-input { text-align: center; } .k-color-picker-key { text-align: center; font-size: 12px; line-height: 1; width: 195px; } } .k-color-picker-rgba, .k-color-picker-hsla { .k-input { // width: 44px; } } .k-color-picker-mode-label { font-size: 12px; } .k-color-picker-hex { .k-input { // width: 188px; } } .k-color-picker-val { display: flex; gap: 4px; flex: 1; input { transition: none; flex: 1; } .k-color-picker-alpha-input { max-width: 48px; } } .k-coclor-picker-defaults { position: relative; box-sizing: border-box; padding: 10px 0 0 0px; margin-top: 10px; border-top: 1px solid var(--kui-color-border); display: flex; flex-wrap: wrap; gap: 6px; >span { display: inline-block; width: 13px; height: 13px; border-radius: 2px; cursor: pointer; &:hover { transform: scale(1.3); } } .k-btn { position: absolute; top: 14px; right: 0; width: 32px; padding: 0; } } } .k-color-picker-circle { border-radius: 50%; .k-color-picker-color { border-radius: 50%; } } @keyframes drop-down { 0% { opacity: 0; transform: scaleY(0) } to { opacity: 1; transform: scaleY(1) } } .k-color-picker-enter-active { transform-origin: 0 0; animation: drop-down .3s; } .k-color-picker-leave-active { transform-origin: 0 0; animation: drop-down .3s reverse; }