UNPKG

react-solid-gradient-picker

Version:
515 lines (498 loc) 12.7 kB
* { box-sizing: border-box; } .ui-color-picker { margin: 8px; background-color: #FFFFFF; display: flex; flex-direction: column; width: 280px; user-select: none; } .ui-color-picker .gradient-controls { display: flex; flex-direction: row; align-items: center; width: 100%; margin-bottom: 8px; margin-top: 5px; height: 24px; padding: 0 16px; } .ui-color-picker .gradient-controls .gradient-type { flex: 1; display: flex; } .ui-color-picker .gradient-controls .gradient-type .gradient-type-item { height: 28px; width: 28px; border-radius: 50%; position: relative; cursor: pointer; } .ui-color-picker .gradient-controls .gradient-type .gradient-type-item.active::after { content: ""; display: block; position: absolute; top: -3px; bottom: -3px; left: -3px; right: -3px; border: 2px solid #1F2667; border-radius: 50%; } .ui-color-picker .gradient-controls .gradient-type .gradient-type-item.liner-gradient { background: linear-gradient(270deg, #FFFFFF 0%, #1F2667 100%); } .ui-color-picker .gradient-controls .gradient-type .gradient-type-item.radial-gradient { margin-left: 8px; background: radial-gradient(circle, #FFFFFF 0%, #1F2667 100%); } .ui-color-picker .gradient-controls .gradient-degrees-options { position: relative; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degrees { display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; width: 28px; height: 28px; border: 3px solid #1F2667; border-radius: 18px; margin-right: 65px; cursor: pointer; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degrees .gradient-degree-center { position: relative; width: 6px; height: 22px; pointer-events: none; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degrees .gradient-degree-center .gradient-degree-pointer { position: absolute; width: 6px; height: 6px; top: 2px; border-radius: 3px; background: #1F2667; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degree-value { position: absolute; top: 0; right: 0; width: 48px; height: 28px; display: flex; align-items: center; justify-content: center; border: 1px solid #bbbfc5; border-radius: 6px; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degree-value p { text-align: center; padding: 0 6px; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degree-value-input { position: absolute; top: 0; right: 6px; width: 48px; height: 28px; display: flex; align-items: center; justify-content: center; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degree-value-input input { width: 60px; } .ui-color-picker .gradient-controls .gradient-degrees-options .gradient-degree-value-input p { position: absolute; padding: 0px; min-width: 10px; text-align: center; } .ui-color-picker .picker-area { display: flex; flex-direction: column; padding: 0px; position: relative; } .ui-color-picker .picker-area.gradient-tab .picking-area { margin-bottom: 10px; } .ui-color-picker .picker-area .extra-control { position: absolute; right: -8px; top: -8px; z-index: 1; } .ui-color-picker .picker-area .picking-area { width: 100%; height: 160px; margin-bottom: 16px; position: relative; border-radius: 8px; } .ui-color-picker .picker-area .picking-area:hover { cursor: default; } .ui-color-picker .picker-area .picking-area .picking-area-overlay1 { height: 100%; width: 100%; background: linear-gradient(to right, white 0%, rgba(255, 255, 255, 0) 100%); border-radius: 3px; } .ui-color-picker .picker-area .picking-area .picking-area-overlay1 .picking-area-overlay2 { cursor: pointer; height: 100%; width: 100%; background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, black 100%); border-radius: 8px; } .ui-color-picker .picker-area .preview { display: flex; flex-direction: row; margin-bottom: 16px; position: relative; } .ui-color-picker .picker-area .preview .preview-box { box-sizing: border-box; height: 36px; width: 36px; border-radius: 8px; border: 1px solid #EBEDF5; cursor: pointer; display: flex; flex-direction: row; justify-content: center; align-items: center; align-content: center; } .ui-color-picker .picker-area .preview .color-hue-alpha { display: flex; flex-direction: column; flex: 1; margin-left: 6px; } .ui-color-picker .picker-area .preview .color-hue-alpha .hue { width: 100%; position: relative; border-radius: 10px; margin-bottom: 8px; padding: 0 7px; background-color: red; } .ui-color-picker .picker-area .preview .color-hue-alpha .hue .hue-area { cursor: pointer; position: relative; height: 14px; background: -webkit-linear-gradient(left, #ff0000, #ff0080, #ff00ff, #8000ff, #0000ff, #0080ff, #00ffff, #00ff80, #00ff00, #80ff00, #ffff00, #ff8000, #ff0000); background: -o-linear-gradient(left, #ff0000, #ff8000, #ffff00, #80ff00, #00ff00, #00ff80, #00ffff, #0080ff, #0000ff, #8000ff, #ff00ff, #ff0080, #ff0000); background: -ms-linear-gradient(left, #ff0000, #ff8000, #ffff00, #80ff00, #00ff00, #00ff80, #00ffff, #0080ff, #0000ff, #8000ff, #ff00ff, #ff0080, #ff0000); background: -moz-linear-gradient(left, #ff0000, #ff8000, #ffff00, #80ff00, #00ff00, #00ff80, #00ffff, #0080ff, #0000ff, #8000ff, #ff00ff, #ff0080, #ff0000); background: linear-gradient(to right, #ff0000, #ff8000, #ffff00, #80ff00, #00ff00, #00ff80, #00ffff, #0080ff, #0000ff, #8000ff, #ff00ff, #ff0080, #ff0000); } .ui-color-picker .picker-area .preview .color-hue-alpha .alpha { position: relative; width: 100%; overflow: hidden; border-radius: 10px; height: 14px; cursor: pointer; } .ui-color-picker .picker-area .preview .color-hue-alpha .alpha .gradient { position: absolute; top: 0; left: 0; right: 0; bottom: 0; } .ui-color-picker .picker-area .preview .color-hue-alpha .alpha .alpha-area { width: 100%; height: 100%; background: url("assets/images/alpha-background.svg"); background-size: auto; background-position: 50% 50%; border-radius: 10px; padding: 0 7px; } .ui-color-picker .picker-area .preview .color-hue-alpha .alpha .alpha-area .alpha-mask { width: 100%; height: 100%; position: relative; } .ui-color-picker .picker-area .preview .eyeDropper { position: absolute; left: 10px; top: 10px; } .ui-color-picker .picker-area .gradient { width: 100%; height: 14px; position: relative; cursor: pointer; border-radius: 10px; margin-bottom: 8px; padding: 0 7px; } .ui-color-picker .picker-area .gradient .gradient-slider-container { height: 100%; width: 100%; position: relative; } .ui-color-picker .picker-area .picker-pointer { position: absolute; top: 1px; height: 12px; width: 12px; border: 1px solid #FFFFFF; background: transparent; border-radius: 50%; box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.3); } .ui-color-picker .picker-area .picker-pointer .child-point { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); height: 3px; width: 3px; background: #FFFFFF; border-radius: 50%; opacity: 0; transition: opacity 0.33s; } .ui-color-picker .picker-area .picker-pointer .child-point.active { opacity: 1; } .ui-color-picker .color-preview-area { margin-bottom: 8px; padding: 0 16px; } .ui-color-picker .color-preview-area .input-group { width: 100%; display: flex; flex-direction: row; justify-content: space-between; } .ui-color-picker .color-preview-area .input-group .uc-field-group:not(:last-child) { margin-right: 7px; } .ui-color-picker .color-preview-area .hex { width: 65px; } .ui-color-picker .color-preview-area .rgb { width: 40px; } .ui-color-picker .colors { padding: 3px 16px 0; } .ui-color-picker .colors .colors-label { display: flex; align-items: center; margin-bottom: 4px; cursor: pointer; } .ui-color-picker .colors .colors-label .uc-icon { margin-right: 8px; transition: transform 0.3s; } .ui-color-picker .colors .colors-label .tp-text { text-transform: uppercase; } .ui-color-picker .colors .colors-label.show + .colors-item-container { max-height: 80px; padding-bottom: 16px; } .ui-color-picker .colors .colors-label.show .uc-icon { transform: rotate(-90deg); } .ui-color-picker .colors .template { display: flex; flex-direction: column; } .ui-color-picker .colors .global { display: flex; flex-direction: column; align-items: flex-start; } .ui-color-picker .colors .colors-item-container { display: flex; flex-wrap: wrap; width: 100%; transition: max-height 0.3s, padding-bottom 0.3s; max-height: 0; overflow: hidden; } .ui-color-picker .colors .colors-item-container .colors-item { height: 24px; width: 24px; border-radius: 50%; background-color: #EBEDF5; cursor: pointer; position: relative; margin-top: 4px; flex-shrink: 0; } .ui-color-picker .colors .colors-item-container .colors-item:not(.plus) { border: 1px solid #EBEDF5; } .ui-color-picker .colors .colors-item-container .colors-item.empty { display: flex; align-items: center; justify-content: center; } .ui-color-picker .colors .colors-item-container .colors-item.empty .line { width: 2px; height: 16px; background-color: #8892B3; border-radius: 1px; transform: rotate(45deg); } .ui-color-picker .colors .colors-item-container .colors-item.plus { margin-bottom: 4px; } .ui-color-picker .colors .colors-item-container .colors-item.plus .uc-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 1; } .ui-color-picker .colors .colors-item-container .colors-item:not(:first-child):not(:nth-child(9)) { margin-left: 8px; } .ui-color-picker .colors .colors-item-container .colors-item .uc-icon { position: absolute; right: -8px; top: -3px; opacity: 0; transition: opacity 0.3s; } .ui-color-picker .colors .colors-item-container .colors-item:hover .uc-icon { opacity: 1; } .ui-color-picker .colors .colors-item-container .colors-item.active::after { content: ""; display: block; position: absolute; top: -3px; bottom: -3px; left: -3px; right: -3px; border: 2px solid #8892B3; border-radius: 50%; } .input-field { display: flex; flex-shrink: 0; align-items: center; flex-direction: column; } .input-field .label { font-size: 12px; line-height: 15px; font-weight: 600; margin-top: 6px; margin-bottom: 0; color: #1F2667; } .input-field .input-container { display: flex; align-items: center; position: relative; width: 100%; border-radius: 6px; color: #28314d; } .input-field .input-container .input { width: 100%; outline: 0; color: #1F2667; border-radius: inherit; border: 1px solid #bbbfc5; height: 24px; font-size: 12px; font-weight: 600; padding: 0 6px; } .tippy-box[data-animation=fade][data-state=hidden] { opacity: 0; } [data-tippy-root] { max-width: calc(100vw - 10px); } .tippy-box { position: relative; background-color: #333; color: #fff; border-radius: 4px; font-size: 14px; line-height: 1.4; white-space: normal; outline: 0; transition-property: transform, visibility, opacity; } .tippy-box[data-placement^=top] > .tippy-arrow { bottom: 0; } .tippy-box[data-placement^=top] > .tippy-arrow:before { bottom: -7px; left: 0; border-width: 8px 8px 0; border-top-color: initial; transform-origin: center top; } .tippy-box[data-placement^=bottom] > .tippy-arrow { top: 0; } .tippy-box[data-placement^=bottom] > .tippy-arrow:before { top: -7px; left: 0; border-width: 0 8px 8px; border-bottom-color: initial; transform-origin: center bottom; } .tippy-box[data-placement^=left] > .tippy-arrow { right: 0; } .tippy-box[data-placement^=left] > .tippy-arrow:before { border-width: 8px 0 8px 8px; border-left-color: initial; right: -7px; transform-origin: center left; } .tippy-box[data-placement^=right] > .tippy-arrow { left: 0; } .tippy-box[data-placement^=right] > .tippy-arrow:before { left: -7px; border-width: 8px 8px 8px 0; border-right-color: initial; transform-origin: center right; } .tippy-box[data-inertia][data-state=visible] { transition-timing-function: cubic-bezier(0.54, 1.5, 0.38, 1.11); } .tippy-arrow { width: 16px; height: 16px; color: #333; } .tippy-arrow:before { content: ""; position: absolute; border-color: transparent; border-style: solid; } .tippy-content { position: relative; padding: 5px 9px; z-index: 1; }